diff options
author | Brad King <brad.king@kitware.com> | 2015-01-19 13:27:15 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2015-01-19 13:34:32 (GMT) |
commit | c0ff542c58e48ac91714d9dc44058c9cb42fb828 (patch) | |
tree | e1bda9a7cc03da6b290310130cac35fbd957a7e3 /Source/cmGlobalXCodeGenerator.h | |
parent | c118816d44e178e4364a0c32aaece81a14511237 (diff) | |
download | CMake-c0ff542c58e48ac91714d9dc44058c9cb42fb828.zip CMake-c0ff542c58e48ac91714d9dc44058c9cb42fb828.tar.gz CMake-c0ff542c58e48ac91714d9dc44058c9cb42fb828.tar.bz2 |
Xcode: Fix early termination on per-config source file error
In commit v3.1.0-rc1~687^2~4 (cmTarget: Make the source files depend on
the config, 2014-02-13) an early termination case was added to the Xcode
generator. Fix handling of this case to actually abort all the
generation steps. Otherwise some of the later steps are attempted
without the preconditions normally established by earlier steps,
possibly leading to a crash.
Diffstat (limited to 'Source/cmGlobalXCodeGenerator.h')
-rw-r--r-- | Source/cmGlobalXCodeGenerator.h | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/Source/cmGlobalXCodeGenerator.h b/Source/cmGlobalXCodeGenerator.h index 9d7b784..8d7cfaf 100644 --- a/Source/cmGlobalXCodeGenerator.h +++ b/Source/cmGlobalXCodeGenerator.h @@ -91,7 +91,7 @@ private: cmSourceGroup* sg); cmXCodeObject* CreatePBXGroup(cmXCodeObject *parent, std::string name); - void CreateGroups(cmLocalGenerator* root, + bool CreateGroups(cmLocalGenerator* root, std::vector<cmLocalGenerator*>& generators); std::string XCodeEscapePath(const char* p); @@ -151,7 +151,7 @@ private: std::string ExtractFlag(const char* flag, std::string& flags); // delete all objects in the this->XCodeObjects vector. void ClearXCodeObjects(); - void CreateXCodeObjects(cmLocalGenerator* root, + bool CreateXCodeObjects(cmLocalGenerator* root, std::vector<cmLocalGenerator*>& generators); void OutputXCodeProject(cmLocalGenerator* root, std::vector<cmLocalGenerator*>& generators); @@ -170,7 +170,7 @@ private: cmXCodeObject* CreateXCodeSourceFile(cmLocalGenerator* gen, cmSourceFile* sf, cmTarget& cmtarget); - void CreateXCodeTargets(cmLocalGenerator* gen, + bool CreateXCodeTargets(cmLocalGenerator* gen, std::vector<cmXCodeObject*>&); bool IsHeaderFile(cmSourceFile*); void AddDependTarget(cmXCodeObject* target, |