cmake_minimum_required (VERSION 3.1 FATAL_ERROR) project (SimControlApplication VERSION 0.1.0 LANGUAGES CXX C) set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/Modules) include(defaultOptions) #find_package(Eigen3 REQUIRED NO_MODULE) IF(NOT TARGET Catch2) add_subdirectory(libs/Catch2 EXCLUDE_FROM_ALL) include(libs/Catch2/contrib/Catch.cmake) ENDIF() IF (NOT TARGET CLI11) set(CLI11_TESTING OFF CACHE BOOL "disable testing") add_subdirectory(libs/CLI11 EXCLUDE_FROM_ALL) ENDIF() IF(NOT TARGET loguru) add_subdirectory(libs/loguru EXCLUDE_FROM_ALL) set_property(TARGET loguru PROPERTY POSITION_INDEPENDENT_CODE 1) ENDIF() IF(NOT TARGET SimCore) add_subdirectory(libs/SimCore EXCLUDE_FROM_ALL) ENDIF() IF(NOT TARGET KubeControl) set(TEST_KUBECONTROL_LIBRARY OFF CACHE BOOL "disable testing") add_subdirectory(libs/KubeControl EXCLUDE_FROM_ALL) ENDIF() IF(NOT TARGET OrderLibrary) add_subdirectory(libs/OrderLibrary EXCLUDE_FROM_ALL) ENDIF() IF(NOT TARGET ixwebsocket) add_subdirectory(libs/ixwebsocket EXCLUDE_FROM_ALL) ENDIF() add_library(SimControl STATIC include/SimControl/SimControl.hpp src/SimControl/SimControl.cpp include/SimControl/PodList.hpp src/SimControl/PodList.cpp include/SimControl/Tracklist.hpp src/SimControl/Tracklist.cpp ) target_link_libraries(SimControl PUBLIC CLI11 pthread SimCore kubecontrol loguru OrderLibrary ixwebsocket ) target_include_directories(SimControl PUBLIC $ $ PRIVATE src ) add_executable(SimControlApplication src/main.cpp ) target_link_libraries(SimControlApplication CLI11 SimControl ) add_custom_command(TARGET SimControlApplication POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR}/libs/KubeControl/docs $/docs) # target_include_directories(EntitiyManagerApplication # PRIVATE # src) # # Everything TEST related # option(TEST_SIMCONTROLLER_LIBRARY "Turn running of application template specific tests off" ON) IF (${TEST_SIMCONTROLLER_LIBRARY}) add_executable(test_podlist tests/test_podlist.cpp) target_link_libraries(test_podlist Catch2::Catch2 SimControl loguru) catch_discover_tests(test_podlist) ENDIF()