Files
email-tracker/CMakeLists.txt
2025-10-24 19:21:19 -05:00

34 lines
988 B
CMake

cmake_minimum_required(VERSION 3.20)
project(email-tracker LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 23)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
# Dependencies
add_subdirectory(external/fmt)
add_subdirectory(external/spdlog)
add_subdirectory(external/tomlplusplus)
add_subdirectory(external/bitsery)
add_subdirectory(external/duckdb)
# Executables
add_executable(${PROJECT_NAME}-client src/main-tracker.cpp)
add_executable(${PROJECT_NAME}-daemon src/main-daemon.cpp)
# Common targets
set(COMMON_LIBS fmt spdlog tomlplusplus bitsery duckdb_static)
set(COMMON_INCLUDES
external/fmt/include
external/spdlog/include
external/tomlplusplus/include
external/bitsery/include/bitsery
external/duckdb/src/include
)
# Apply common settings
foreach(target ${PROJECT_NAME}-client ${PROJECT_NAME}-daemon)
target_link_libraries(${target} PRIVATE ${COMMON_LIBS})
target_include_directories(${target} PRIVATE ${COMMON_INCLUDES})
endforeach()