libcron/test/CMakeLists.txt
2021-08-23 18:36:41 +02:00

45 lines
1.3 KiB
CMake

cmake_minimum_required(VERSION 3.6)
project(cron_test)
set(CMAKE_CXX_STANDARD 17)
# Deactivate Iterator-Debugging on Windows
option(LIBCRON_DEACTIVATE_ITERATOR_DEBUGGING "Build with iterator-debugging (MSVC only)." OFF)
if( MSVC )
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W4")
if (LIBCRON_DEACTIVATE_ITERATOR_DEBUGGING)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_HAS_ITERATOR_DEBUGGING=0")
endif()
else()
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Wpedantic")
endif()
include_directories(
${CMAKE_CURRENT_LIST_DIR}/externals/Catch2/single_include/catch2
${CMAKE_CURRENT_LIST_DIR}/../libcron/externals/date/include
${CMAKE_CURRENT_LIST_DIR}/..
)
add_executable(
${PROJECT_NAME}
CronDataTest.cpp
CronRandomizationTest.cpp
CronScheduleTest.cpp
CronTest.cpp)
if(NOT MSVC)
target_link_libraries(${PROJECT_NAME} libcron pthread)
# Assume a modern compiler supporting uncaught_exceptions()
target_compile_definitions (${PROJECT_NAME} PRIVATE -DHAS_UNCAUGHT_EXCEPTIONS)
else()
target_link_libraries(${PROJECT_NAME} libcron)
endif()
set_target_properties(${PROJECT_NAME} PROPERTIES
ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_CURRENT_LIST_DIR}/out"
LIBRARY_OUTPUT_DIRECTORY "${CMAKE_CURRENT_LIST_DIR}/out"
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_CURRENT_LIST_DIR}/out")