Add targets for library, cli and gui components
This commit is contained in:
+24
-2
@@ -10,6 +10,9 @@ endif()
|
|||||||
SET_SOURCE_FILES_PROPERTIES( src/monocoque.c PROPERTIES LANGUAGE C)
|
SET_SOURCE_FILES_PROPERTIES( src/monocoque.c PROPERTIES LANGUAGE C)
|
||||||
#set(CMAKE_BUILD_TYPE Debug)
|
#set(CMAKE_BUILD_TYPE Debug)
|
||||||
|
|
||||||
|
option(BUILD_GUI "Build GUI support" OFF)
|
||||||
|
option(BUILD_SHARED "Build monocoque shared library" OFF)
|
||||||
|
|
||||||
|
|
||||||
project(monocoque)
|
project(monocoque)
|
||||||
|
|
||||||
@@ -50,7 +53,17 @@ endif()
|
|||||||
set(HIDAPI_WITH_LIBUSB FALSE) # surely will be used only on Linux
|
set(HIDAPI_WITH_LIBUSB FALSE) # surely will be used only on Linux
|
||||||
set(BUILD_SHARED_LIBS TRUE) # HIDAPI as static library on all platforms
|
set(BUILD_SHARED_LIBS TRUE) # HIDAPI as static library on all platforms
|
||||||
|
|
||||||
add_executable(monocoque src/monocoque/monocoque.c)
|
if(BUILD_SHARED)
|
||||||
|
add_library(monocoque SHARED src/monocoque/monocoque.c)
|
||||||
|
else()
|
||||||
|
add_library(monocoque STATIC src/monocoque/monocoque.c)
|
||||||
|
endif()
|
||||||
|
add_executable(monocoque-cli src/monocoque/monocoque-cli.c)
|
||||||
|
set_target_properties(monocoque-cli PROPERTIES OUTPUT_NAME monocoque)
|
||||||
|
if(BUILD_GUI)
|
||||||
|
add_executable(monocoque-gui src/monocoque/monocoque-gui.c)
|
||||||
|
set_target_properties(monocoque-gui PROPERTIES OUTPUT_NAME gmonocoque)
|
||||||
|
endif()
|
||||||
|
|
||||||
find_package(PkgConfig REQUIRED)
|
find_package(PkgConfig REQUIRED)
|
||||||
pkg_check_modules(LIBPROCPS libprocps)
|
pkg_check_modules(LIBPROCPS libprocps)
|
||||||
@@ -75,8 +88,17 @@ endif()
|
|||||||
message("Using pulseaudio backend...")
|
message("Using pulseaudio backend...")
|
||||||
add_compile_definitions(USE_PULSEAUDIO=true)
|
add_compile_definitions(USE_PULSEAUDIO=true)
|
||||||
target_link_libraries(monocoque m hidapi-hidraw pulse serialport xml2 argtable2 config gameloop helper devices slog simulatorapi uv xdg-basedir Lua::Lua proc2)
|
target_link_libraries(monocoque m hidapi-hidraw pulse serialport xml2 argtable2 config gameloop helper devices slog simulatorapi uv xdg-basedir Lua::Lua proc2)
|
||||||
|
|
||||||
target_include_directories(monocoque PUBLIC config ${LIBXML_INCLUDE_DIR} ${LUA_INCLUDE_DIR})
|
target_include_directories(monocoque PUBLIC config ${LIBXML_INCLUDE_DIR} ${LUA_INCLUDE_DIR})
|
||||||
|
target_link_libraries(monocoque-cli m hidapi-hidraw pulse serialport xml2 argtable2 config gameloop helper devices slog simulatorapi uv xdg-basedir Lua::Lua proc2)
|
||||||
|
target_include_directories(monocoque-cli PUBLIC config ${LIBXML_INCLUDE_DIR} ${LUA_INCLUDE_DIR})
|
||||||
|
if(BUILD_GUI)
|
||||||
|
target_link_libraries(monocoque-gui m hidapi-hidraw pulse serialport xml2 argtable2 config gameloop helper devices slog simulatorapi uv xdg-basedir Lua::Lua proc2)
|
||||||
|
target_include_directories(monocoque-gui PUBLIC config ${LIBXML_INCLUDE_DIR} ${LUA_INCLUDE_DIR})
|
||||||
|
endif()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
add_subdirectory(src/monocoque/gameloop)
|
add_subdirectory(src/monocoque/gameloop)
|
||||||
add_subdirectory(src/monocoque/simulatorapi)
|
add_subdirectory(src/monocoque/simulatorapi)
|
||||||
|
|||||||
Reference in New Issue
Block a user