Files
auth-service/CMakeLists.txt
T
AntJn 062b64bce8 AUTH SERVER
- set CMAke project

- add Drogon submodule

- add json and Catch2 submodule

- add health check endpoint

-RAII SqliteDb

- Verify DB and HTTP some work
2026-04-04 20:41:24 +03:00

67 lines
1.4 KiB
CMake

cmake_minimum_required(VERSION 3.22)
project(auth_service VERSION 0.1.0 LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
include(CTest)
enable_testing()
find_package(SQLite3 REQUIRED)
add_subdirectory(submodules/drogon)
add_subdirectory(submodules/json)
add_subdirectory(submodules/Catch2)
add_executable(auth_service
src/main.cpp
src/application/application.cpp
src/http/controllers/health_controller.cpp
src/db/sqllite_db.cpp
src/db/statement.cpp
)
target_include_directories(auth_service
PRIVATE
${PROJECT_SOURCE_DIR}/include
${PROJECT_SOURCE_DIR}/src
)
target_compile_options(auth_service PRIVATE
-Wall
-Wextra
-Wpedantic
)
target_link_libraries(auth_service PRIVATE
drogon
SQLite::SQLite3
nlohmann_json::nlohmann_json
)
add_executable(auth_service_tests
tests/smoke_test.cpp
)
target_include_directories(auth_service_tests
PRIVATE
${PROJECT_SOURCE_DIR}/include
${PROJECT_SOURCE_DIR}/src
)
target_compile_options(auth_service_tests PRIVATE
-Wall
-Wextra
-Wpedantic
)
target_link_libraries(auth_service_tests PRIVATE
Catch2::Catch2WithMain
nlohmann_json::nlohmann_json
)
include(${PROJECT_SOURCE_DIR}/submodules/Catch2/extras/Catch.cmake)
catch_discover_tests(auth_service_tests)