summaryrefslogtreecommitdiffstats
path: root/Source/cmGlobalGenerator.cxx
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2017-09-26 17:26:28 (GMT)
committerBrad King <brad.king@kitware.com>2017-09-27 11:40:49 (GMT)
commitf8cb9944a1118a7dfd33c058314a083e65e1de81 (patch)
tree8b441c899912d0e627cadf12b9e944eb46582a61 /Source/cmGlobalGenerator.cxx
parent068effa4d8ad2813499a6e79b056d79a2120e1ad (diff)
downloadCMake-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.
Diffstat (limited to 'Source/cmGlobalGenerator.cxx')
-rw-r--r--Source/cmGlobalGenerator.cxx20
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");