1cmake_minimum_required(VERSION 3.0) 2 3project(renode_api_client) 4 5set(APP_COMPILE_FLAGS 6 -Wall 7 -Werror 8 -Wextra 9 CACHE STRING "Compile flags for the Renode API client application") 10 11set(APP_NAME renode_api_client CACHE STRING "Name of the Renode API client application") 12set(APP_SOURCES_DIR "" CACHE PATH "Path to the directory with Renode API client application sources") 13 14if(NOT APP_NAME) 15 message(FATAL_ERROR "Missing APP_NAME; use ccmake, cmake-gui or -D switch to set it") 16endif() 17 18if(NOT APP_SOURCES_DIR) 19 message(FATAL_ERROR "Missing APP_SOURCES_DIR; use ccmake, cmake-gui or -D switch to set it") 20endif() 21 22set(LIB_DIR ${CMAKE_CURRENT_LIST_DIR}/lib) 23include(${LIB_DIR}/CMakeLists.txt) 24include(${APP_SOURCES_DIR}/CMakeLists.txt OPTIONAL) 25 26file(GLOB_RECURSE SOURCES CONFIGURE_DEPENDS ${APP_SOURCES_DIR}/*.c) 27add_executable(${APP_NAME} ${SOURCES}) 28 29target_compile_options(${APP_NAME} PRIVATE ${APP_COMPILE_FLAGS}) 30 31target_link_libraries(${APP_NAME} PRIVATE renode_api) 32