150 lines
3.7 KiB
CMake
150 lines
3.7 KiB
CMake
cmake_minimum_required (VERSION 3.1 FATAL_ERROR)
|
|
project (EntityLibrary VERSION 0.1.0 LANGUAGES CXX C)
|
|
set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/Modules)
|
|
include(defaultOptions)
|
|
|
|
IF(NOT TARGET Catch2)
|
|
add_subdirectory(libs/Catch2 EXCLUDE_FROM_ALL)
|
|
include(libs/Catch2/contrib/Catch.cmake)
|
|
ENDIF()
|
|
|
|
IF(NOT TARGET SimCore)
|
|
set(TEST_SIMCORE_LIBRARY OFF CACHE INTERNAL "")
|
|
add_subdirectory(libs/SimCore EXCLUDE_FROM_ALL)
|
|
ENDIF()
|
|
|
|
IF(NOT TARGET nlohmann_json)
|
|
set(JSON_BuildTests_INIT OFF CACHE INTERNAL "")
|
|
add_subdirectory(libs/nlohmannJSON EXCLUDE_FROM_ALL)
|
|
ENDIF()
|
|
|
|
IF(NOT TARGET kubecontrol)
|
|
set(TEST_KUBECONTROL_LIBRARY OFF CACHE INTERNAL "")
|
|
add_subdirectory(libs/KubeControl EXCLUDE_FROM_ALL)
|
|
ENDIF()
|
|
|
|
protobuf_generate_cpp(PROTO_PATH include/Orders/protos CPP_PATH include/Orders/protos HPP_PATH include/Orders/protos)
|
|
|
|
add_library(OrderLibrary STATIC
|
|
|
|
|
|
include/Orders/Order.hpp
|
|
src/Orders/Order.cpp
|
|
|
|
include/Orders/MoveOrder.hpp
|
|
src/Orders/MoveOrder.cpp
|
|
|
|
include/Orders/protos/Order.pb.cc
|
|
include/Orders/protos/EngageOrder.pb.cc
|
|
include/Orders/protos/HoldOrder.pb.cc
|
|
include/Orders/protos/MoveOrder.pb.cc
|
|
include/Orders/protos/SystemStateOrder.pb.cc
|
|
|
|
)
|
|
|
|
|
|
target_link_libraries(OrderLibrary
|
|
SimCore
|
|
loguru
|
|
)
|
|
add_dependencies(OrderLibrary protoc)
|
|
|
|
target_include_directories(OrderLibrary PUBLIC
|
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
|
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/libs/SimCore/include/SimCore/Messages/Protos>
|
|
|
|
$<INSTALL_INTERFACE:include>
|
|
src)
|
|
|
|
add_library(EntityLibrary STATIC
|
|
|
|
|
|
include/Entities/Sensor.hpp
|
|
src/Entities/Sensor.cpp
|
|
|
|
include/Entities/Entity.hpp
|
|
src/Entities/Entity.cpp
|
|
|
|
include/Entities/Movement.hpp
|
|
src/Entities/Movement.cpp
|
|
|
|
|
|
include/Entities/Tracklist/Tracklist.hpp
|
|
src/Entities/Tracklist/Tracklist.cpp
|
|
|
|
include/Entities/Tracklist/TracklistItem.hpp
|
|
src/Entities/Tracklist/TrackListItem.cpp
|
|
)
|
|
|
|
|
|
target_link_libraries(EntityLibrary
|
|
SimCore
|
|
eigen
|
|
loguru
|
|
nlohmann_json
|
|
OrderLibrary
|
|
kubecontrol
|
|
)
|
|
# add_dependencies(SimCore protoc)
|
|
|
|
target_include_directories(EntityLibrary PUBLIC
|
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
|
|
$<INSTALL_INTERFACE:include>
|
|
src)
|
|
|
|
|
|
# add_executable(main
|
|
|
|
# src/main.cpp
|
|
|
|
|
|
# )
|
|
|
|
|
|
# target_link_libraries(main
|
|
# Gateway
|
|
# CLI11
|
|
# loguru
|
|
# )
|
|
# target_include_directories(main PUBLIC
|
|
# $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
|
|
# $<INSTALL_INTERFACE:include>
|
|
# src)
|
|
|
|
|
|
#
|
|
# Everything TEST related
|
|
#
|
|
option(TEST_ENTITIY_LIBRARY "Turn running of application template specific tests off" ON)
|
|
|
|
IF (${TEST_ENTITIY_LIBRARY})
|
|
|
|
|
|
|
|
add_executable(test_SensorClass tests/test_SensorClass.cpp)
|
|
target_link_libraries(test_SensorClass Catch2::Catch2 EntityLibrary loguru)
|
|
catch_discover_tests(test_SensorClass)
|
|
|
|
add_executable(test_EntityClass tests/test_EntityClass.cpp)
|
|
target_link_libraries(test_EntityClass Catch2::Catch2 EntityLibrary loguru)
|
|
catch_discover_tests(test_EntityClass)
|
|
|
|
# add_executable(test_MovementClass tests/test_MovementClass.cpp)
|
|
# target_link_libraries(test_MovementClass Catch2::Catch2 EntityLibrary SimCore loguru)
|
|
# catch_discover_tests(test_MovementClass)
|
|
|
|
# add_executable(test_EntityImplementation tests/test_EntityImplementation.cpp)
|
|
# target_link_libraries(test_EntityImplementation EntityLibrary loguru)
|
|
|
|
add_executable(test_Tracklist tests/test_Tracklist.cpp)
|
|
target_link_libraries(test_Tracklist Catch2::Catch2 EntityLibrary loguru)
|
|
catch_discover_tests(test_Tracklist)
|
|
|
|
add_executable(test_MoveOrder tests/test_MoveOrder.cpp)
|
|
target_link_libraries(test_MoveOrder Catch2::Catch2 OrderLibrary loguru)
|
|
catch_discover_tests(test_MoveOrder)
|
|
|
|
|
|
|
|
ENDIF()
|