Ninja: Prevent compilers to be silently modified

Unlike with Unix Makefiles generator modifying compiler paths was not
protected with Ninja generator.  It was possible to modify them in the
cache without the expected effect on the generated solution.  Also
activate corresponding tests with Ninja.
This commit is contained in:
Sylvain Joubert 2014-09-20 22:37:52 +02:00 committed by Brad King
parent 3689c43a8c
commit 6120fca8e2
2 changed files with 10 additions and 1 deletions

View File

@ -540,6 +540,15 @@ void cmGlobalNinjaGenerator
cmSystemTools::Error("The Ninja generator does not support Fortran yet.");
}
this->cmGlobalGenerator::EnableLanguage(langs, makefile, optional);
for(std::vector<std::string>::const_iterator l = langs.begin();
l != langs.end(); ++l)
{
if(*l == "NONE")
{
continue;
}
this->ResolveLanguageCompiler(*l, makefile, optional);
}
}
bool cmGlobalNinjaGenerator::UsingMinGW = false;

View File

@ -50,7 +50,7 @@ add_RunCMake_test(CMP0051)
add_RunCMake_test(CMP0053)
add_RunCMake_test(CMP0054)
add_RunCMake_test(CTest)
if(UNIX AND "${CMAKE_GENERATOR}" MATCHES "Unix Makefiles")
if(UNIX AND "${CMAKE_GENERATOR}" MATCHES "Unix Makefiles|Ninja")
add_RunCMake_test(CompilerChange)
endif()
add_RunCMake_test(CompilerNotFound)