stduuid/test/CMakeLists.txt
Egor Kuzmin 6ac13af81a modern cmake project struct
Added ability to add as a dependency to another cmake project via add_subdirectory
2020-11-03 18:25:37 +03:00

29 lines
1.2 KiB
CMake

enable_testing()
# Test target
add_executable(test_${PROJECT_NAME} main.cpp test_generators.cpp test_uuid.cpp)
target_include_directories(test_${PROJECT_NAME} PRIVATE ${PROJECT_SOURCE_DIR}/catch)
target_link_libraries(test_${PROJECT_NAME} PRIVATE ${PROJECT_NAME})
set_target_properties(test_${PROJECT_NAME} PROPERTIES CXX_STANDARD 17)
if(WIN32)
target_compile_options(test_${PROJECT_NAME} PRIVATE /EHc)
target_compile_definitions(test_${PROJECT_NAME} PRIVATE _SCL_SECURE_NO_WARNINGS)
elseif(APPLE)
target_compile_options(test_${PROJECT_NAME} PRIVATE -fexceptions -g -Wall)
else()
target_compile_options(test_${PROJECT_NAME} PRIVATE -fexceptions -g -Wall)
endif()
get_target_property(CURRENT_COMPILE_OPTIONS test_${PROJECT_NAME} COMPILE_OPTIONS)
message(STATUS "** ${CMAKE_CXX_COMPILER_ID} flags: ${CURRENT_COMPILE_OPTIONS}")
# Tests
add_test(NAME "test_${PROJECT_NAME}" COMMAND "test_${PROJECT_NAME}" "-r compact")
set_tests_properties("test_${PROJECT_NAME}"
PROPERTIES
PASS_REGULAR_EXPRESSION "Passed all.*")
set_tests_properties("test_${PROJECT_NAME}"
PROPERTIES
FAIL_REGULAR_EXPRESSION "Failed \\d+ test cases")
set_tests_properties("test_${PROJECT_NAME}"
PROPERTIES
TIMEOUT 120)