文件
csp/backend/CMakeLists.txt
2026-02-12 08:58:53 +00:00

52 行
936 B
CMake

cmake_minimum_required(VERSION 3.28)
project(csp_backend LANGUAGES CXX)
# Drogon 1.8.x on Ubuntu still uses legacy CMake commands.
cmake_policy(SET CMP0153 OLD)
find_package(Drogon CONFIG REQUIRED)
find_package(Catch2 3 REQUIRED)
add_library(csp_core
src/version.cc
src/db/sqlite_db.cc
src/app_state.cc
)
target_include_directories(csp_core PUBLIC
${CMAKE_CURRENT_SOURCE_DIR}/include
)
target_link_libraries(csp_core PUBLIC
SQLite3_lib
)
add_executable(csp_server
src/main.cc
src/health_controller.cc
)
target_include_directories(csp_server PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}/include
)
target_link_libraries(csp_server PRIVATE
Drogon::Drogon
csp_core
)
enable_testing()
add_executable(csp_tests
tests/test_main.cc
tests/version_test.cc
tests/sqlite_db_test.cc
)
target_link_libraries(csp_tests PRIVATE
Catch2::Catch2WithMain
csp_core
)
include(CTest)
add_test(NAME csp_tests COMMAND csp_tests)