diff options
author | Sylvain Joubert <joubert.sy@gmail.com> | 2014-09-20 20:37:52 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2014-09-22 12:44:39 (GMT) |
commit | 6120fca8e229da08fae1d58017962491fb6e03f3 (patch) | |
tree | f71558713915872ba651144123dc4927cf0df928 | |
parent | 3689c43a8c62ca5883d776ee75a34f145d03ab7a (diff) | |
download | CMake-6120fca8e229da08fae1d58017962491fb6e03f3.zip CMake-6120fca8e229da08fae1d58017962491fb6e03f3.tar.gz CMake-6120fca8e229da08fae1d58017962491fb6e03f3.tar.bz2 |
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.
-rw-r--r-- | Source/cmGlobalNinjaGenerator.cxx | 9 | ||||
-rw-r--r-- | Tests/RunCMake/CMakeLists.txt | 2 |
2 files changed, 10 insertions, 1 deletions
diff --git a/Source/cmGlobalNinjaGenerator.cxx b/Source/cmGlobalNinjaGenerator.cxx index 09ee128..50e1abb 100644 --- a/Source/cmGlobalNinjaGenerator.cxx +++ b/Source/cmGlobalNinjaGenerator.cxx @@ -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; diff --git a/Tests/RunCMake/CMakeLists.txt b/Tests/RunCMake/CMakeLists.txt index 549aed8..fd3bb03 100644 --- a/Tests/RunCMake/CMakeLists.txt +++ b/Tests/RunCMake/CMakeLists.txt @@ -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) |