29 lines
1.0 KiB
CMake
29 lines
1.0 KiB
CMake
cmake_minimum_required(VERSION 3.19 FATAL_ERROR)
|
|
|
|
project(UnitTest CXX)
|
|
|
|
include(CTest)
|
|
include(../external/catch2/extras/Catch.cmake)
|
|
|
|
add_executable(UnitTest
|
|
characteristics_tests.cpp
|
|
billy_objects_tests.cpp
|
|
sheet_tests.cpp
|
|
)
|
|
|
|
set_target_properties(Catch2 UnitTest PROPERTIES
|
|
CXX_STANDARD 17
|
|
CXX_STANDARD_REQUIRED ON
|
|
CXX_EXTENSIONS OFF
|
|
INTERPROCEDURAL_OPTIMIZATION_RELEASE ON
|
|
# UNITY_BUILD ON
|
|
)
|
|
target_include_directories(UnitTest PRIVATE ${CMAKE_SOURCE_DIR}/include)
|
|
target_compile_definitions(UnitTest PRIVATE ${DEF_COMP})
|
|
target_compile_options(UnitTest PRIVATE ${COMPILE_FLAGS} -fdiagnostics-all-candidates)
|
|
target_link_options(UnitTest PRIVATE ${LINKER_OPTIONS})
|
|
target_link_libraries(UnitTest ${LINKER_FLAGS} Catch2::Catch2WithMain nlohmann_json::nlohmann_json BillySheet)
|
|
|
|
enable_testing()
|
|
catch_discover_tests(UnitTest WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} REPORTER junit OUTPUT_DIR ${CMAKE_SOURCE_DIR} OUTPUT_PREFIX cppspec- OUTPUT_SUFFIX .xml)
|