From f8cb9944a1118a7dfd33c058314a083e65e1de81 Mon Sep 17 00:00:00 2001 From: Brad King Date: Tue, 26 Sep 2017 13:26:28 -0400 Subject: Find native build tool after determining the target system This will allow toolchain files and platform modules to specify information that affects the selection of the native build tool. --- Source/cmGlobalGenerator.cxx | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/Source/cmGlobalGenerator.cxx b/Source/cmGlobalGenerator.cxx index 958aa05..05efff3 100644 --- a/Source/cmGlobalGenerator.cxx +++ b/Source/cmGlobalGenerator.cxx @@ -447,15 +447,6 @@ void cmGlobalGenerator::EnableLanguage( "Platform information initialized", cmStateEnums::INTERNAL); } - // find and make sure CMAKE_MAKE_PROGRAM is defined - if (!this->FindMakeProgram(mf)) { - return; - } - - if (!this->CheckLanguages(languages, mf)) { - return; - } - // try and load the CMakeSystem.cmake if it is there std::string fpath = rootBin; bool const readCMakeSystem = !mf->GetDefinition("CMAKE_SYSTEM_LOADED"); @@ -500,6 +491,11 @@ void cmGlobalGenerator::EnableLanguage( } if (readCMakeSystem) { + // Find the native build tool for this generator. + if (!this->FindMakeProgram(mf)) { + return; + } + // Tell the generator about the target system. std::string system = mf->GetSafeDefinition("CMAKE_SYSTEM_NAME"); if (!this->SetSystemName(system, mf)) { @@ -522,6 +518,12 @@ void cmGlobalGenerator::EnableLanguage( } } + // Check that the languages are supported by the generator and its + // native build tool found above. + if (!this->CheckLanguages(languages, mf)) { + return; + } + // **** Load the system specific initialization if not yet loaded if (!mf->GetDefinition("CMAKE_SYSTEM_SPECIFIC_INITIALIZE_LOADED")) { fpath = mf->GetModulesFile("CMakeSystemSpecificInitialize.cmake"); -- cgit v0.12