
Three of these tests were still using the compiler selected for building CMake itself. In general our test suite is supposed to let each test select the compiler from the environment. This is particularly important on macOS where CMake might be built with compilers inside Xcode, which require an explicit `CMAKE_OSX_SYSROOT`.
44 lines
1.7 KiB
CMake
44 lines
1.7 KiB
CMake
cmake_minimum_required(VERSION 3.10)
|
|
|
|
set(TEST_SUCCESS TRUE)
|
|
|
|
function(run_test_case NAME WHAT)
|
|
set(_message "Testing that launchers are used when running ${WHAT}")
|
|
message(STATUS "${_message}...")
|
|
|
|
# Settings:
|
|
set(CTEST_DASHBOARD_SOURCE "@CMake_SOURCE_DIR@/Tests/CTestTestLaunchers")
|
|
set(CTEST_DASHBOARD_ROOT "@CMake_BINARY_DIR@/Tests/CTestTestLaunchers")
|
|
set(CTEST_SITE "@SITE@")
|
|
set(CTEST_BUILD_NAME "Launchers-@BUILDNAME@-CTestTestLaunchers")
|
|
|
|
set(CTEST_SOURCE_DIRECTORY "${CTEST_DASHBOARD_SOURCE}/${NAME}")
|
|
set(CTEST_BINARY_DIRECTORY "${CTEST_DASHBOARD_ROOT}/${NAME}-bin")
|
|
set(CTEST_CMAKE_GENERATOR "@CMAKE_GENERATOR@")
|
|
set(CTEST_CMAKE_GENERATOR_PLATFORM "@CMAKE_GENERATOR_PLATFORM@")
|
|
set(CTEST_CMAKE_GENERATOR_TOOLSET "@CMAKE_GENERATOR_TOOLSET@")
|
|
set(CTEST_BUILD_CONFIGURATION "$ENV{CMAKE_CONFIG_TYPE}")
|
|
set(CTEST_NOTES_FILES "${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}")
|
|
|
|
ctest_empty_binary_directory(${CTEST_BINARY_DIRECTORY})
|
|
|
|
ctest_start(Experimental)
|
|
ctest_configure(OPTIONS "-DCTEST_USE_LAUNCHERS=1")
|
|
ctest_build(NUMBER_ERRORS error_count)
|
|
|
|
if("${error_count}" STREQUAL "0")
|
|
set(TEST_SUCCESS FALSE PARENT_SCOPE)
|
|
message(STATUS "${_message}... FAIL")
|
|
else()
|
|
message(STATUS "${_message}... PASS")
|
|
endif()
|
|
endfunction()
|
|
|
|
run_test_case(launcher_compiler_test_project "the compiler")
|
|
run_test_case(launcher_linker_test_project "the linker")
|
|
run_test_case(launcher_custom_command_test_project "a custom command")
|
|
|
|
if(TEST_SUCCESS)
|
|
message("CTEST_TEST_LAUNCHER_SUCCESS")
|
|
endif()
|