cmake/Tests/EnforceConfig.cmake.in

43 lines
1.5 KiB
CMake
Raw Normal View History

2010-03-17 14:00:29 +02:00
# Choose a configuration with which to drive CTest tests.
2013-03-16 19:13:01 +02:00
if(CTEST_CONFIGURATION_TYPE)
set(CTestTest_CONFIG "${CTEST_CONFIGURATION_TYPE}")
else()
set(CTestTest_CONFIG "@CTestTest_CONFIG@")
endif()
2009-10-04 10:30:41 +03:00
2010-03-17 14:00:29 +02:00
# Choose a configuration that was built if none is given.
2013-03-16 19:13:01 +02:00
if(NOT CTEST_CONFIGURATION_TYPE)
set(CTEST_CMD "@CMAKE_CTEST_COMMAND@@CMAKE_EXECUTABLE_SUFFIX@")
get_filename_component(CTEST_DIR "${CTEST_CMD}" PATH)
get_filename_component(CTEST_EXE "${CTEST_CMD}" NAME)
2022-11-16 20:14:03 +01:00
foreach(cfg IN ITEMS Release Debug MinSizeRel RelWithDebInfo)
2013-03-16 19:13:01 +02:00
if(NOT CTEST_CONFIGURATION_TYPE)
if(EXISTS "${CTEST_DIR}/${cfg}/${CTEST_EXE}")
set(CTEST_CONFIGURATION_TYPE ${cfg})
endif()
endif()
endforeach()
if(NOT CTEST_CONFIGURATION_TYPE)
2019-11-11 23:01:05 +01:00
if("@CMAKE_C_COMPILER_ID@;@CMAKE_C_SIMULATE_ID@;@CMAKE_C_COMPILER_FRONTEND_VARIANT@" STREQUAL "Clang;MSVC;GNU")
# A valid configuration is required for this compiler in tests that do not set CMP0091 to NEW.
set(CTEST_CONFIGURATION_TYPE Debug)
else()
set(CTEST_CONFIGURATION_TYPE NoConfig)
endif()
2013-03-16 19:13:01 +02:00
endif()
message("Guessing configuration ${CTEST_CONFIGURATION_TYPE}")
endif()
2010-03-17 14:00:29 +02:00
2019-11-11 23:01:05 +01:00
# Isolate tests from user configuration in the environment.
unset(ENV{CMAKE_GENERATOR})
unset(ENV{CMAKE_GENERATOR_INSTANCE})
unset(ENV{CMAKE_GENERATOR_PLATFORM})
unset(ENV{CMAKE_GENERATOR_TOOLSET})
2020-08-30 11:54:41 +02:00
unset(ENV{CMAKE_EXPORT_COMPILE_COMMANDS})
2019-11-11 23:01:05 +01:00
2023-07-02 19:51:09 +02:00
# Verify that our module implementations do not recurse too much.
set(ENV{CMAKE_MAXIMUM_RECURSION_DEPTH} 100)
2010-03-17 14:00:29 +02:00
@TEST_HOME_ENV_CODE@
2023-07-02 19:51:09 +02:00
@TEST_WARN_VS_CODE@