Files
auth-service/CMakeLists.txt
T
AntJn 875c692180 Add Sesion
implementation util/time
2026-04-18 22:51:08 +03:00

75 lines
1.6 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)
find_package(OpenSSL 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
src/db/transaction.cpp
src/db/migrations_runner.cpp
src/repo/user_repository.cpp
src/repo/session_repository.cpp
src/util/time_utils.cpp
src/security/session_token_service.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
OpenSSL::Crypto
)
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)