mirror of https://github.com/catchorg/Catch2.git
CMake binaries are now conditionally enabled
Defining NO_SELFTEST=1 when cmake configuration is being done now turns off SelfTest and Benchmark executables. This is for projects that consume Catch using ExternalProject_Add and don't want to build our selftest binaries for their unit test suite. Closes #897
This commit is contained in:
parent
5ffc8a84cd
commit
9ceae8f51f
|
@ -245,28 +245,35 @@ SOURCE_GROUP("Benchmarks" FILES ${BENCH_SOURCES})
|
||||||
|
|
||||||
# configure the executable
|
# configure the executable
|
||||||
include_directories(${HEADER_DIR})
|
include_directories(${HEADER_DIR})
|
||||||
add_executable(SelfTest ${TEST_SOURCES} ${IMPL_SOURCES} ${HEADERS})
|
|
||||||
add_executable(Benchmark ${BENCH_SOURCES} ${HEADERS})
|
|
||||||
|
|
||||||
# Add desired warnings
|
# Projects consuming Catch via ExternalProject_Add might want to use install step
|
||||||
if ( CMAKE_CXX_COMPILER_ID MATCHES "Clang|AppleClang|GNU" )
|
# without building all of our selftests.
|
||||||
|
if (NOT NO_SELFTEST)
|
||||||
|
add_executable(SelfTest ${TEST_SOURCES} ${IMPL_SOURCES} ${HEADERS})
|
||||||
|
add_executable(Benchmark ${BENCH_SOURCES} ${HEADERS})
|
||||||
|
|
||||||
|
# Add desired warnings
|
||||||
|
if ( CMAKE_CXX_COMPILER_ID MATCHES "Clang|AppleClang|GNU" )
|
||||||
target_compile_options( SelfTest PRIVATE -Wall -Wextra )
|
target_compile_options( SelfTest PRIVATE -Wall -Wextra )
|
||||||
target_compile_options( Benchmark PRIVATE -Wall -Wextra )
|
target_compile_options( Benchmark PRIVATE -Wall -Wextra )
|
||||||
endif()
|
endif()
|
||||||
if ( CMAKE_CXX_COMPILER_ID MATCHES "MSVC" )
|
if ( CMAKE_CXX_COMPILER_ID MATCHES "MSVC" )
|
||||||
target_compile_options( SelfTest PRIVATE /W4 /w44265 /WX )
|
target_compile_options( SelfTest PRIVATE /W4 /w44265 /WX )
|
||||||
target_compile_options( Benchmark PRIVATE /W4 )
|
target_compile_options( Benchmark PRIVATE /W4 )
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|
||||||
# configure unit tests via CTest
|
# configure unit tests via CTest
|
||||||
enable_testing()
|
enable_testing()
|
||||||
add_test(NAME RunTests COMMAND SelfTest)
|
add_test(NAME RunTests COMMAND SelfTest)
|
||||||
|
|
||||||
add_test(NAME ListTests COMMAND SelfTest --list-tests)
|
add_test(NAME ListTests COMMAND SelfTest --list-tests)
|
||||||
set_tests_properties(ListTests PROPERTIES PASS_REGULAR_EXPRESSION "[0-9]+ test cases")
|
set_tests_properties(ListTests PROPERTIES PASS_REGULAR_EXPRESSION "[0-9]+ test cases")
|
||||||
|
|
||||||
|
add_test(NAME ListTags COMMAND SelfTest --list-tags)
|
||||||
|
set_tests_properties(ListTags PROPERTIES PASS_REGULAR_EXPRESSION "[0-9]+ tags")
|
||||||
|
|
||||||
|
endif() # !NO_SELFTEST
|
||||||
|
|
||||||
add_test(NAME ListTags COMMAND SelfTest --list-tags)
|
|
||||||
set_tests_properties(ListTags PROPERTIES PASS_REGULAR_EXPRESSION "[0-9]+ tags")
|
|
||||||
|
|
||||||
install(DIRECTORY "single_include/" DESTINATION "include/catch")
|
install(DIRECTORY "single_include/" DESTINATION "include/catch")
|
||||||
|
|
Loading…
Reference in New Issue