31 lines
1.1 KiB
CMake
31 lines
1.1 KiB
CMake
cmake_minimum_required(VERSION 3.14 FATAL_ERROR)
|
|
|
|
project(SPDLOGConfigTests LANGUAGES CXX)
|
|
|
|
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin")
|
|
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib")
|
|
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib")
|
|
|
|
include(CTest)
|
|
|
|
# ---- Dependencies ----
|
|
CPMAddPackage("gh:doctest/doctest@2.5.2")
|
|
|
|
file(GLOB sources CONFIGURE_DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/source/*.cpp)
|
|
|
|
add_executable(${PROJECT_NAME} ${sources})
|
|
set_target_properties(${PROJECT_NAME} PROPERTIES CXX_STANDARD 20)
|
|
|
|
target_link_libraries(${PROJECT_NAME} PRIVATE doctest::doctest SPDLOGConfig::SPDLOGConfig)
|
|
|
|
if(CMAKE_CXX_COMPILER_ID MATCHES "Clang" OR CMAKE_CXX_COMPILER_ID MATCHES "GNU")
|
|
target_compile_options(${PROJECT_NAME} PRIVATE -Wall -Wpedantic -Wextra)
|
|
elseif(MSVC)
|
|
target_compile_options(${PROJECT_NAME} PRIVATE /W4)
|
|
target_compile_definitions(${PROJECT_NAME} PRIVATE DOCTEST_CONFIG_USE_STD_HEADERS)
|
|
endif()
|
|
|
|
# ---- Register doctest test cases with CTest ----
|
|
include(${doctest_SOURCE_DIR}/scripts/cmake/doctest.cmake)
|
|
doctest_discover_tests(${PROJECT_NAME})
|