summaryrefslogtreecommitdiffstats
path: root/Source/cmGlobalXCodeGenerator.cxx
diff options
context:
space:
mode:
authorYauheni Khnykin <hsilgos@gmail.com>2020-01-25 22:41:42 (GMT)
committerBrad King <brad.king@kitware.com>2020-01-27 21:14:19 (GMT)
commit64304fe72b2956937b3e0916284aec1efa4dca78 (patch)
tree5ca70c550ad4dd1f021f8b0e24c2249679425948 /Source/cmGlobalXCodeGenerator.cxx
parent33e7bd66c09ee51edbbccfc1014813e30d80ec5f (diff)
downloadCMake-64304fe72b2956937b3e0916284aec1efa4dca78.zip
CMake-64304fe72b2956937b3e0916284aec1efa4dca78.tar.gz
CMake-64304fe72b2956937b3e0916284aec1efa4dca78.tar.bz2
Xcode: Fix post build script for 'top level project only' opt
When CMAKE_XCODE_GENERATE_TOP_LEVEL_PROJECT_ONLY is set on Xcode generator created post build scripts which tried to call XCODE_DEPEND_HELPER.make script in subproject. But XCODE_DEPEND_HELPER.make don't exist in subprojects when mentioned option is set on. Fixes: #20262
Diffstat (limited to 'Source/cmGlobalXCodeGenerator.cxx')
-rw-r--r--Source/cmGlobalXCodeGenerator.cxx6
1 files changed, 4 insertions, 2 deletions
diff --git a/Source/cmGlobalXCodeGenerator.cxx b/Source/cmGlobalXCodeGenerator.cxx
index f887284..276b310 100644
--- a/Source/cmGlobalXCodeGenerator.cxx
+++ b/Source/cmGlobalXCodeGenerator.cxx
@@ -528,7 +528,8 @@ void cmGlobalXCodeGenerator::AddExtraTargets(
root->GetMakefile()->IsOn("CMAKE_XCODE_GENERATE_TOP_LEVEL_PROJECT_ONLY");
bool isTopLevel =
!root->GetStateSnapshot().GetBuildsystemDirectoryParent().IsValid();
- if (regenerate && (isTopLevel || !generateTopLevelProjectOnly)) {
+ bool isGenerateProject = isTopLevel || !generateTopLevelProjectOnly;
+ if (regenerate && isGenerateProject) {
this->CreateReRunCMakeFile(root, gens);
std::string file =
this->ConvertToRelativeForMake(this->CurrentReRunCMakeMakefile);
@@ -558,7 +559,8 @@ void cmGlobalXCodeGenerator::AddExtraTargets(
// run the depend check makefile as a post build rule
// this will make sure that when the next target is built
// things are up-to-date
- if (target->GetType() == cmStateEnums::OBJECT_LIBRARY) {
+ if (isGenerateProject &&
+ target->GetType() == cmStateEnums::OBJECT_LIBRARY) {
commandLines.front().back() = // fill placeholder
this->PostBuildMakeTarget(target->GetName(), "$(CONFIGURATION)");
gen->AddCustomCommandToTarget(