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