Merge topic 'fix-12539-ctestconfig-from-build-dir'
76ecdd8
CTest: Look for CTestConfig.cmake in build dir first, then source dir
This commit is contained in:
commit
c2300e6265
|
@ -655,10 +655,26 @@ bool cmCTest::InitializeFromCommand(cmCTestStartCommand* command)
|
||||||
}
|
}
|
||||||
|
|
||||||
cmMakefile* mf = command->GetMakefile();
|
cmMakefile* mf = command->GetMakefile();
|
||||||
std::string fname = src_dir;
|
std::string fname;
|
||||||
fname += "/CTestConfig.cmake";
|
|
||||||
cmSystemTools::ConvertToUnixSlashes(fname);
|
std::string src_dir_fname = src_dir;
|
||||||
if ( cmSystemTools::FileExists(fname.c_str()) )
|
src_dir_fname += "/CTestConfig.cmake";
|
||||||
|
cmSystemTools::ConvertToUnixSlashes(src_dir_fname);
|
||||||
|
|
||||||
|
std::string bld_dir_fname = bld_dir;
|
||||||
|
bld_dir_fname += "/CTestConfig.cmake";
|
||||||
|
cmSystemTools::ConvertToUnixSlashes(bld_dir_fname);
|
||||||
|
|
||||||
|
if ( cmSystemTools::FileExists(bld_dir_fname.c_str()) )
|
||||||
|
{
|
||||||
|
fname = bld_dir_fname;
|
||||||
|
}
|
||||||
|
else if ( cmSystemTools::FileExists(src_dir_fname.c_str()) )
|
||||||
|
{
|
||||||
|
fname = src_dir_fname;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( !fname.empty() )
|
||||||
{
|
{
|
||||||
cmCTestLog(this, OUTPUT, " Reading ctest configuration file: "
|
cmCTestLog(this, OUTPUT, " Reading ctest configuration file: "
|
||||||
<< fname.c_str() << std::endl);
|
<< fname.c_str() << std::endl);
|
||||||
|
@ -674,8 +690,12 @@ bool cmCTest::InitializeFromCommand(cmCTestStartCommand* command)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
cmCTestLog(this, WARNING, "Cannot locate CTest configuration: "
|
cmCTestLog(this, WARNING,
|
||||||
<< fname.c_str() << std::endl);
|
"Cannot locate CTest configuration: in BuildDirectory: "
|
||||||
|
<< bld_dir_fname.c_str() << std::endl);
|
||||||
|
cmCTestLog(this, WARNING,
|
||||||
|
"Cannot locate CTest configuration: in SourceDirectory: "
|
||||||
|
<< src_dir_fname.c_str() << std::endl);
|
||||||
}
|
}
|
||||||
|
|
||||||
this->SetCTestConfigurationFromCMakeVariable(mf, "NightlyStartTime",
|
this->SetCTestConfigurationFromCMakeVariable(mf, "NightlyStartTime",
|
||||||
|
|
|
@ -1531,6 +1531,35 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=master -P ${CMake_SOURCE_DIR}/Utilities/
|
||||||
SET_TESTS_PROPERTIES(CTestTestUpload PROPERTIES
|
SET_TESTS_PROPERTIES(CTestTestUpload PROPERTIES
|
||||||
PASS_REGULAR_EXPRESSION "Upload\\.xml")
|
PASS_REGULAR_EXPRESSION "Upload\\.xml")
|
||||||
|
|
||||||
|
CONFIGURE_FILE(
|
||||||
|
"${CMake_SOURCE_DIR}/Tests/CTestTestConfigFileInBuildDir/test1.cmake.in"
|
||||||
|
"${CMake_BINARY_DIR}/Tests/CTestTestConfigFileInBuildDir1/test1.cmake"
|
||||||
|
@ONLY ESCAPE_QUOTES)
|
||||||
|
ADD_TEST(CTestTestConfigFileInBuildDir1 ${CMAKE_CTEST_COMMAND}
|
||||||
|
-S "${CMake_BINARY_DIR}/Tests/CTestTestConfigFileInBuildDir1/test1.cmake" -V
|
||||||
|
--output-log "${CMake_BINARY_DIR}/Tests/CTestTestConfigFileInBuildDir1/testOut1.log"
|
||||||
|
)
|
||||||
|
SET_TESTS_PROPERTIES(CTestTestConfigFileInBuildDir1 PROPERTIES DEPENDS CTestTestNoBuild
|
||||||
|
PASS_REGULAR_EXPRESSION
|
||||||
|
"Reading ctest configuration file: ${CMake_SOURCE_DIR}.Tests.CTestTestConfigFileInBuildDir.CTestConfig.cmake")
|
||||||
|
|
||||||
|
CONFIGURE_FILE(
|
||||||
|
"${CMake_SOURCE_DIR}/Tests/CTestTestConfigFileInBuildDir/test2.cmake.in"
|
||||||
|
"${CMake_BINARY_DIR}/Tests/CTestTestConfigFileInBuildDir2/test2.cmake"
|
||||||
|
@ONLY ESCAPE_QUOTES)
|
||||||
|
CONFIGURE_FILE(
|
||||||
|
"${CMake_SOURCE_DIR}/Tests/CTestTestConfigFileInBuildDir/CTestConfig.cmake"
|
||||||
|
"${CMake_BINARY_DIR}/Tests/CTestTestConfigFileInBuildDir2/CTestConfig.cmake"
|
||||||
|
@ONLY ESCAPE_QUOTES COPYONLY)
|
||||||
|
ADD_TEST(CTestTestConfigFileInBuildDir2 ${CMAKE_CTEST_COMMAND}
|
||||||
|
-S "${CMake_BINARY_DIR}/Tests/CTestTestConfigFileInBuildDir2/test2.cmake" -V
|
||||||
|
--output-log "${CMake_BINARY_DIR}/Tests/CTestTestConfigFileInBuildDir2/testOut2.log"
|
||||||
|
)
|
||||||
|
SET_TESTS_PROPERTIES(CTestTestConfigFileInBuildDir2 PROPERTIES DEPENDS CTestTestNoBuild
|
||||||
|
REQUIRED_FILES ${CMake_BINARY_DIR}/Tests/CTestTestConfigFileInBuildDir2/CTestConfig.cmake
|
||||||
|
PASS_REGULAR_EXPRESSION
|
||||||
|
"Reading ctest configuration file: ${CMake_BINARY_DIR}.Tests.CTestTestConfigFileInBuildDir2.CTestConfig.cmake")
|
||||||
|
|
||||||
# Use macro, not function so that build can still be driven by CMake 2.4.
|
# Use macro, not function so that build can still be driven by CMake 2.4.
|
||||||
# After 2.6 is required, this could be a function without the extra 'set'
|
# After 2.6 is required, this could be a function without the extra 'set'
|
||||||
# calls.
|
# calls.
|
||||||
|
|
|
@ -0,0 +1,3 @@
|
||||||
|
cmake_minimum_required(VERSION 2.8)
|
||||||
|
project(CTestTestConfigFileInBuildDir)
|
||||||
|
include(CTest)
|
|
@ -0,0 +1,7 @@
|
||||||
|
set(CTEST_PROJECT_NAME "CTestTestConfigFileInBuildDir")
|
||||||
|
set(CTEST_NIGHTLY_START_TIME "01:00:00 UTC")
|
||||||
|
set(CTEST_DART_SERVER_VERSION "2")
|
||||||
|
set(CTEST_DROP_METHOD "http")
|
||||||
|
set(CTEST_DROP_SITE "www.cdash.org")
|
||||||
|
set(CTEST_DROP_LOCATION "/CDash/submit.php?project=PublicDashboard")
|
||||||
|
set(CTEST_DROP_SITE_CDASH TRUE)
|
|
@ -0,0 +1,17 @@
|
||||||
|
CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
|
||||||
|
|
||||||
|
# Settings:
|
||||||
|
SET(CTEST_DASHBOARD_ROOT "@CMake_BINARY_DIR@/Tests/CTestTest")
|
||||||
|
SET(CTEST_SITE "@SITE@")
|
||||||
|
SET(CTEST_BUILD_NAME "CTestTest-@BUILDNAME@-ConfigFileInBuildDir1")
|
||||||
|
|
||||||
|
SET(CTEST_SOURCE_DIRECTORY "@CMake_SOURCE_DIR@/Tests/CTestTestConfigFileInBuildDir")
|
||||||
|
SET(CTEST_BINARY_DIRECTORY "@CMake_BINARY_DIR@/Tests/CTestTestConfigFileInBuildDir1")
|
||||||
|
SET(CTEST_CVS_COMMAND "@CVSCOMMAND@")
|
||||||
|
SET(CTEST_CMAKE_GENERATOR "@CMAKE_TEST_GENERATOR@")
|
||||||
|
SET(CTEST_BUILD_CONFIGURATION "$ENV{CMAKE_CONFIG_TYPE}")
|
||||||
|
SET(CTEST_COVERAGE_COMMAND "@COVERAGE_COMMAND@")
|
||||||
|
SET(CTEST_NOTES_FILES "${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}")
|
||||||
|
|
||||||
|
CTEST_START(Experimental)
|
||||||
|
CTEST_CONFIGURE(BUILD "${CTEST_BINARY_DIRECTORY}" RETURN_VALUE res)
|
|
@ -0,0 +1,17 @@
|
||||||
|
CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
|
||||||
|
|
||||||
|
# Settings:
|
||||||
|
SET(CTEST_DASHBOARD_ROOT "@CMake_BINARY_DIR@/Tests/CTestTest")
|
||||||
|
SET(CTEST_SITE "@SITE@")
|
||||||
|
SET(CTEST_BUILD_NAME "CTestTest-@BUILDNAME@-ConfigFileInBuildDir2")
|
||||||
|
|
||||||
|
SET(CTEST_SOURCE_DIRECTORY "@CMake_SOURCE_DIR@/Tests/CTestTestConfigFileInBuildDir")
|
||||||
|
SET(CTEST_BINARY_DIRECTORY "@CMake_BINARY_DIR@/Tests/CTestTestConfigFileInBuildDir2")
|
||||||
|
SET(CTEST_CVS_COMMAND "@CVSCOMMAND@")
|
||||||
|
SET(CTEST_CMAKE_GENERATOR "@CMAKE_TEST_GENERATOR@")
|
||||||
|
SET(CTEST_BUILD_CONFIGURATION "$ENV{CMAKE_CONFIG_TYPE}")
|
||||||
|
SET(CTEST_COVERAGE_COMMAND "@COVERAGE_COMMAND@")
|
||||||
|
SET(CTEST_NOTES_FILES "${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}")
|
||||||
|
|
||||||
|
CTEST_START(Experimental)
|
||||||
|
CTEST_CONFIGURE(BUILD "${CTEST_BINARY_DIRECTORY}" RETURN_VALUE res)
|
Loading…
Reference in New Issue