CMake/Tests/EnforceConfig.cmake.in
Brad King faf6d82bd6 Always use a configuration for CMake tests
Previously our EnforceConfig script that loads at test-time would only
enforce a non-empty CTEST_CONFIGURATION_TYPE for CMake 2.6.2 and lower.
Now we simply always enforce use of a configuration, and select one of
the configurations that was built if none is given.

This is necessary to run tests like CMake.Install that need to know the
configuration with which CMake was built.
2009-12-10 11:19:23 -05:00

27 lines
1.0 KiB
CMake

# Choose a configuration with which to drive CTest tests.
IF(CTEST_CONFIGURATION_TYPE)
SET(CTestTest_CONFIG "${CTEST_CONFIGURATION_TYPE}")
ELSE(CTEST_CONFIGURATION_TYPE)
SET(CTestTest_CONFIG "@CTestTest_CONFIG@")
ENDIF(CTEST_CONFIGURATION_TYPE)
# Choose a configuration that was built if none is given.
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})
ENDIF(EXISTS "${CTEST_DIR}/${cfg}/${CTEST_EXE}")
ENDIF(NOT CTEST_CONFIGURATION_TYPE)
ENDFOREACH(cfg)
IF(NOT CTEST_CONFIGURATION_TYPE)
SET(CTEST_CONFIGURATION_TYPE NoConfig)
ENDIF(NOT CTEST_CONFIGURATION_TYPE)
MESSAGE("Guessing configuration ${CTEST_CONFIGURATION_TYPE}")
ENDIF(NOT CTEST_CONFIGURATION_TYPE)
@TEST_HOME_ENV_CODE@