Skip to content
Snippets Groups Projects
CMakeLists.txt 1.77 KiB
Newer Older
kongr45gpen's avatar
kongr45gpen committed
cmake_minimum_required(VERSION 3.7)
kongr45gpen's avatar
kongr45gpen committed
project(ecss_services)

# Set C++ version to c++17
set(CMAKE_CXX_STANDARD 17)

# Specify the directories for #includes
include_directories("${PROJECT_SOURCE_DIR}/inc" "${PROJECT_SOURCE_DIR}/lib/etl/include")
kongr45gpen's avatar
kongr45gpen committed

add_custom_target(check
        COMMAND ./cppcheck.sh
        COMMAND ./vera.sh
        COMMAND ./clang-tidy.sh
        WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}/ci")

# Specify the .cpp files common across all targets
add_library(common OBJECT
kongr45gpen's avatar
kongr45gpen committed
        src/ErrorHandler.cpp
        src/Message.cpp
        src/MessageParser.cpp
Grigoris Pavlakis's avatar
Grigoris Pavlakis committed
        src/Helpers/CRCHelper.cpp
kongr45gpen's avatar
kongr45gpen committed
        src/Helpers/TimeHelper.cpp
        src/Services/EventReportService.cpp
        src/Services/MemoryManagementService.cpp
        src/Services/ParameterService.cpp
        src/Services/RequestVerificationService.cpp
        src/Services/TestService.cpp
        src/Services/TimeManagementService.cpp
    	src/Services/EventActionService.cpp
        src/Services/FunctionManagementService.cpp
kongr45gpen's avatar
kongr45gpen committed
# Specify the .cpp files for the executables
file(GLOB x86_main_SRC "src/Platform/x86/*.cpp")
add_executable(ecss_services
        src/main.cpp
        $<TARGET_OBJECTS:common>
        ${x86_main_SRC}
thodkatz's avatar
thodkatz committed
IF (EXISTS "${PROJECT_SOURCE_DIR}/lib/Catch2/CMakeLists.txt")
    # Gather all the .cpp files corresponding to tests
kongr45gpen's avatar
kongr45gpen committed
    file(GLOB test_main_SRC "test/*.cpp")
    file(GLOB test_SRC "test/**/*.cpp")

thodkatz's avatar
thodkatz committed
    add_subdirectory(lib/Catch2)
    add_executable(tests
            $<TARGET_OBJECTS:common>
kongr45gpen's avatar
kongr45gpen committed
            ${test_main_SRC}
            ${test_SRC}
thodkatz's avatar
thodkatz committed
    target_link_libraries(tests Catch2::Catch2)
thodkatz's avatar
thodkatz committed
ENDIF ()