summaryrefslogtreecommitdiffstats
path: root/Source
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2018-02-23 13:17:51 (GMT)
committerBrad King <brad.king@kitware.com>2018-02-23 13:17:51 (GMT)
commit72a85d9f0bbfc69c53dfd5831699d6ff46772ccd (patch)
tree8c5d2a5cc2898e3ead7f0f5eaa2313c9169adbbb /Source
parent36fc89b7d935bd360a6e9c46681c8cf0faff745b (diff)
parent481420ee89992cd8e761ce36808b3dc73ccc16d2 (diff)
downloadCMake-72a85d9f0bbfc69c53dfd5831699d6ff46772ccd.zip
CMake-72a85d9f0bbfc69c53dfd5831699d6ff46772ccd.tar.gz
CMake-72a85d9f0bbfc69c53dfd5831699d6ff46772ccd.tar.bz2
Merge branch '14297-partial-xcode-zero-check' into release-3.11
Merge-request: !1790
Diffstat (limited to 'Source')
-rw-r--r--Source/cmGlobalXCodeGenerator.cxx6
1 files changed, 5 insertions, 1 deletions
diff --git a/Source/cmGlobalXCodeGenerator.cxx b/Source/cmGlobalXCodeGenerator.cxx
index 2a38599..d3f5aac 100644
--- a/Source/cmGlobalXCodeGenerator.cxx
+++ b/Source/cmGlobalXCodeGenerator.cxx
@@ -459,7 +459,11 @@ void cmGlobalXCodeGenerator::AddExtraTargets(
// Add ZERO_CHECK
bool regenerate = !mf->IsOn("CMAKE_SUPPRESS_REGENERATION");
- if (regenerate) {
+ bool generateTopLevelProjectOnly =
+ mf->IsOn("CMAKE_XCODE_GENERATE_TOP_LEVEL_PROJECT_ONLY");
+ bool isTopLevel =
+ !root->GetStateSnapshot().GetBuildsystemDirectoryParent().IsValid();
+ if (regenerate && (isTopLevel || !generateTopLevelProjectOnly)) {
this->CreateReRunCMakeFile(root, gens);
std::string file =
this->ConvertToRelativeForMake(this->CurrentReRunCMakeMakefile.c_str());