Remove CTestTestfile.cmake when BUILD_TESTING is OFF

When disabling BUILD_TESTING after a previous configure, the
`CTestTestfile.cmake` was left unchanged.  As a result, ctest would see
the tests while the user disabled testing.  Now when BUILD_TESTING is
OFF any existing `CTestTestfile.cmake` is removed ensuring an empty test
list.
This commit is contained in:
Sylvain Joubert
2016-11-14 21:42:10 +01:00
committed by Brad King
parent 1d9934a56a
commit ae4cfa8b12

View File

@@ -211,7 +211,14 @@ void cmLocalGenerator::TraceDependencies()
void cmLocalGenerator::GenerateTestFiles()
{
std::string file = this->StateSnapshot.GetDirectory().GetCurrentBinary();
file += "/";
file += "CTestTestfile.cmake";
if (!this->Makefile->IsOn("CMAKE_TESTING_ENABLED")) {
if (cmSystemTools::FileExists(file)) {
cmSystemTools::RemoveFile(file);
}
return;
}
@@ -220,10 +227,6 @@ void cmLocalGenerator::GenerateTestFiles()
const std::string& config =
this->Makefile->GetConfigurations(configurationTypes, false);
std::string file = this->StateSnapshot.GetDirectory().GetCurrentBinary();
file += "/";
file += "CTestTestfile.cmake";
cmGeneratedFileStream fout(file.c_str());
fout.SetCopyIfDifferent(true);