From 6120fca8e229da08fae1d58017962491fb6e03f3 Mon Sep 17 00:00:00 2001 From: Sylvain Joubert <joubert.sy@gmail.com> Date: Sat, 20 Sep 2014 22:37:52 +0200 Subject: [PATCH] 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. --- Source/cmGlobalNinjaGenerator.cxx | 9 +++++++++ Tests/RunCMake/CMakeLists.txt | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/Source/cmGlobalNinjaGenerator.cxx b/Source/cmGlobalNinjaGenerator.cxx index 09ee128724..50e1abb642 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 549aed8292..fd3bb03208 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)