EnforceConfig.cmake.in 1.33 KB
Newer Older
1
# Choose a configuration with which to drive CTest tests.
2 3
if(CTEST_CONFIGURATION_TYPE)
  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 10 11 12 13 14 15 16
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)
  foreach(cfg Release Debug MinSizeRel RelWithDebInfo)
    if(NOT CTEST_CONFIGURATION_TYPE)
      if(EXISTS "${CTEST_DIR}/${cfg}/${CTEST_EXE}")
        set(CTEST_CONFIGURATION_TYPE ${cfg})
17 18 19
      endif()
    endif()
  endforeach()
20
  if(NOT CTEST_CONFIGURATION_TYPE)
21 22 23 24 25 26
    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()
27
  endif()
28
  message("Guessing configuration ${CTEST_CONFIGURATION_TYPE}")
29
endif()
30

31 32 33 34 35 36
# 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})

37
@TEST_HOME_ENV_CODE@