|
|
|
include(RunCMake)
|
|
|
|
|
|
|
|
set(RunCMake_TEST_OPTIONS -DNoProject=1)
|
|
|
|
run_cmake(BeforeProject)
|
|
|
|
unset(RunCMake_TEST_OPTIONS)
|
|
|
|
|
|
|
|
run_cmake(NotOn)
|
|
|
|
run_cmake(Site)
|
|
|
|
|
|
|
|
function(run_CMakeCTestArguments)
|
|
|
|
run_cmake_with_options(CMakeCTestArguments "-DCMAKE_CTEST_ARGUMENTS=--quiet\\;--output-log\\;output-log.txt")
|
|
|
|
set(RunCMake_TEST_NO_CLEAN 1)
|
|
|
|
set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/CMakeCTestArguments-build)
|
|
|
|
if(RunCMake_GENERATOR MATCHES "Make|Ninja")
|
|
|
|
set(test "test")
|
|
|
|
else()
|
|
|
|
set(test "RUN_TESTS")
|
|
|
|
endif()
|
|
|
|
run_cmake_command(CMakeCTestArguments-test ${CMAKE_COMMAND} --build . --config Debug --target "${test}")
|
|
|
|
endfunction()
|
|
|
|
run_CMakeCTestArguments()
|
|
|
|
|
|
|
|
function(run_TestfileErrors)
|
|
|
|
set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/TestfileErrors-build)
|
|
|
|
run_cmake(TestfileErrors)
|
|
|
|
set(RunCMake_TEST_NO_CLEAN 1)
|
|
|
|
run_cmake_command(TestfileErrors-build ${CMAKE_COMMAND} --build . --config Debug)
|
|
|
|
run_cmake_command(TestfileErrors-test ${CMAKE_CTEST_COMMAND} -C Debug)
|
|
|
|
endfunction()
|
|
|
|
run_TestfileErrors()
|
|
|
|
|
|
|
|
function(run_SingleConfig)
|
|
|
|
set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/SingleConfig-build)
|
|
|
|
run_cmake(SingleConfig)
|
|
|
|
set(RunCMake_TEST_NO_CLEAN 1)
|
|
|
|
run_cmake_command(SingleConfig-build ${CMAKE_COMMAND} --build .)
|
|
|
|
run_cmake_command(SingleConfig-test ${CMAKE_CTEST_COMMAND}) # No -C Debug required for single-config.
|
|
|
|
endfunction()
|
|
|
|
if(NOT RunCMake_GENERATOR_IS_MULTI_CONFIG)
|
|
|
|
run_SingleConfig()
|
|
|
|
endif()
|