diff options
author | Brad King <brad.king@kitware.com> | 2017-09-26 17:26:28 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2017-09-27 11:40:49 (GMT) |
commit | f8cb9944a1118a7dfd33c058314a083e65e1de81 (patch) | |
tree | 8b441c899912d0e627cadf12b9e944eb46582a61 | |
parent | 068effa4d8ad2813499a6e79b056d79a2120e1ad (diff) | |
download | CMake-f8cb9944a1118a7dfd33c058314a083e65e1de81.zip CMake-f8cb9944a1118a7dfd33c058314a083e65e1de81.tar.gz CMake-f8cb9944a1118a7dfd33c058314a083e65e1de81.tar.bz2 |
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.
-rw-r--r-- | Source/cmGlobalGenerator.cxx | 20 |
1 files 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"); |