summaryrefslogtreecommitdiffstats
path: root/Source/cmXCodeObject.h
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2006-01-13 23:18:32 (GMT)
committerBrad King <brad.king@kitware.com>2006-01-13 23:18:32 (GMT)
commit22c62c9e65817e25b077f88222c682efa0188ccb (patch)
tree077abb80fc469c06f08cc4509ff72bcbee8384c7 /Source/cmXCodeObject.h
parent262295615925c082ec3f98c3fc1f6c259d09ee6f (diff)
downloadCMake-22c62c9e65817e25b077f88222c682efa0188ccb.zip
CMake-22c62c9e65817e25b077f88222c682efa0188ccb.tar.gz
CMake-22c62c9e65817e25b077f88222c682efa0188ccb.tar.bz2
BUG: Sweeping changes to cleanup computation of target names. This should
fix many bugs related to target names being computed inconsistently. - Centralized computation of a target's file name to a method in cmTarget. Now that global knowledge is always available the *_CMAKE_PATH cache variables are no longer needed. - Centralized computation of link library command lines and link directory search order. - Moved computation of link directories needed to link CMake targets to be after evaluation of linking dependencies. This also removed alot of duplicate code in which each version had its own bugs. This commit is surrounded by the tags CMake-TargetNameCentralization1-pre and CMake-TargetNameCentralization1-post so make the large set of changes easy to identify.
Diffstat (limited to 'Source/cmXCodeObject.h')
-rw-r--r--Source/cmXCodeObject.h14
1 files changed, 10 insertions, 4 deletions
diff --git a/Source/cmXCodeObject.h b/Source/cmXCodeObject.h
index 5e6a9e1..11a7088 100644
--- a/Source/cmXCodeObject.h
+++ b/Source/cmXCodeObject.h
@@ -18,6 +18,7 @@ public:
PBXAggregateTarget,XCBuildConfiguration,XCConfigurationList,
None
};
+ class StringVec: public std::vector<cmStdString> {};
static const char* PBXTypeNames[];
virtual ~cmXCodeObject();
cmXCodeObject(PBXType ptype, Type type);
@@ -110,11 +111,16 @@ public:
}
void CopyAttributes(cmXCodeObject* );
- void AddDependLibrary(const char* l)
+ void AddDependLibrary(const char* configName,
+ const char* l)
{
- m_DependLibraries.push_back(l);
+ if(!configName)
+ {
+ configName = "";
+ }
+ m_DependLibraries[configName].push_back(l);
}
- std::vector<cmStdString> const& GetDependLibraries()
+ std::map<cmStdString, StringVec> const& GetDependLibraries()
{
return m_DependLibraries;
}
@@ -131,7 +137,7 @@ protected:
cmXCodeObject* m_Object;
cmXCodeObject* m_PBXTargetDependency;
std::vector<cmXCodeObject*> m_List;
- std::vector<cmStdString> m_DependLibraries;
+ std::map<cmStdString, StringVec> m_DependLibraries;
std::map<cmStdString, cmXCodeObject*> m_ObjectAttributes;
};
#endif