CMake/Tests/CTestTestLaunchers/test.cmake.in
Brad King 70ff1f15fc Tests/CTestTest*: Detect compiler from environment
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`.
2024-11-07 09:46:09 -05:00

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()