Imported Upstream version 3.25.0
[platform/upstream/cmake.git] / Tests / EnforceConfig.cmake.in
1 # Choose a configuration with which to drive CTest tests.
2 if(CTEST_CONFIGURATION_TYPE)
3   set(CTestTest_CONFIG "${CTEST_CONFIGURATION_TYPE}")
4 else()
5   set(CTestTest_CONFIG "@CTestTest_CONFIG@")
6 endif()
7
8 # Choose a configuration that was built if none is given.
9 if(NOT CTEST_CONFIGURATION_TYPE)
10   set(CTEST_CMD "@CMAKE_CTEST_COMMAND@@CMAKE_EXECUTABLE_SUFFIX@")
11   get_filename_component(CTEST_DIR "${CTEST_CMD}" PATH)
12   get_filename_component(CTEST_EXE "${CTEST_CMD}" NAME)
13   foreach(cfg IN ITEMS Release Debug MinSizeRel RelWithDebInfo)
14     if(NOT CTEST_CONFIGURATION_TYPE)
15       if(EXISTS "${CTEST_DIR}/${cfg}/${CTEST_EXE}")
16         set(CTEST_CONFIGURATION_TYPE ${cfg})
17       endif()
18     endif()
19   endforeach()
20   if(NOT CTEST_CONFIGURATION_TYPE)
21     if("@CMAKE_C_COMPILER_ID@;@CMAKE_C_SIMULATE_ID@;@CMAKE_C_COMPILER_FRONTEND_VARIANT@" STREQUAL "Clang;MSVC;GNU")
22       # A valid configuration is required for this compiler in tests that do not set CMP0091 to NEW.
23       set(CTEST_CONFIGURATION_TYPE Debug)
24     else()
25       set(CTEST_CONFIGURATION_TYPE NoConfig)
26     endif()
27   endif()
28   message("Guessing configuration ${CTEST_CONFIGURATION_TYPE}")
29 endif()
30
31 # Isolate tests from user configuration in the environment.
32 unset(ENV{CMAKE_GENERATOR})
33 unset(ENV{CMAKE_GENERATOR_INSTANCE})
34 unset(ENV{CMAKE_GENERATOR_PLATFORM})
35 unset(ENV{CMAKE_GENERATOR_TOOLSET})
36 unset(ENV{CMAKE_EXPORT_COMPILE_COMMANDS})
37
38 @TEST_HOME_ENV_CODE@
39 @TEST_WARN_VS11_CODE@