summaryrefslogtreecommitdiffstats
path: root/Source/cmGlobalXCodeGenerator.h
diff options
context:
space:
mode:
authorDavid Cole <david.cole@kitware.com>2011-08-23 22:22:33 (GMT)
committerDavid Cole <david.cole@kitware.com>2011-08-24 22:11:32 (GMT)
commit1834f232a7f782eadd238a78481e3f9086095e97 (patch)
tree88f10cdfeb70c609a68749636488200dcf184d08 /Source/cmGlobalXCodeGenerator.h
parentfe46e7e4866bd1a7678e1381da02df8c9f533aa0 (diff)
downloadCMake-1834f232a7f782eadd238a78481e3f9086095e97.zip
CMake-1834f232a7f782eadd238a78481e3f9086095e97.tar.gz
CMake-1834f232a7f782eadd238a78481e3f9086095e97.tar.bz2
Xcode: Save object id values in CMakeCache.txt (#11690)
For project and target objects, save their ids in CMakeCache.txt. Hopefully, that will be enough to allow user settings to be saved across multiple CMake generate operations. Other object types may also need their ids saved: if so, more code than this commit will be necessary...
Diffstat (limited to 'Source/cmGlobalXCodeGenerator.h')
-rw-r--r--Source/cmGlobalXCodeGenerator.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/Source/cmGlobalXCodeGenerator.h b/Source/cmGlobalXCodeGenerator.h
index 39a5fd7..fa55ff0 100644
--- a/Source/cmGlobalXCodeGenerator.h
+++ b/Source/cmGlobalXCodeGenerator.h
@@ -123,6 +123,8 @@ private:
);
cmXCodeObject* FindXCodeTarget(cmTarget*);
+ std::string GetOrCreateId(const char* name, const char* id);
+
// create cmXCodeObject from these functions so that memory can be managed
// correctly. All objects created are stored in this->XCodeObjects.
cmXCodeObject* CreateObject(cmXCodeObject::PBXType ptype);
@@ -197,9 +199,11 @@ protected:
unsigned int XcodeVersion;
std::string VersionString;
+ std::set<cmStdString> XCodeObjectIDs;
std::vector<cmXCodeObject*> XCodeObjects;
cmXCodeObject* RootObject;
private:
+ void addObject(cmXCodeObject *obj);
std::string PostBuildMakeTarget(std::string const& tName,
std::string const& configName);
cmXCodeObject* MainGroupChildren;