Files
email-tracker/CMakeLists.txt

32 lines
908 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)
# 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)
set(COMMON_INCLUDES
external/fmt/include
external/spdlog/include
external/tomlplusplus/include
external/bitsery/include/bitsery
)
# 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()