summaryrefslogtreecommitdiffstats
path: root/Source/cmMakefile.h
diff options
context:
space:
mode:
authorKen Martin <ken.martin@kitware.com>2001-04-30 14:44:00 (GMT)
committerKen Martin <ken.martin@kitware.com>2001-04-30 14:44:00 (GMT)
commit2da0c57d46d5b68e19b60c4e6560fbd80f808ab0 (patch)
tree92bda106078e740b25b5d3922a89db1a6f6a996b /Source/cmMakefile.h
parent13143f51d2f7096efc90624045f2b9ae26cc1fcd (diff)
downloadCMake-2da0c57d46d5b68e19b60c4e6560fbd80f808ab0.zip
CMake-2da0c57d46d5b68e19b60c4e6560fbd80f808ab0.tar.gz
CMake-2da0c57d46d5b68e19b60c4e6560fbd80f808ab0.tar.bz2
added TARGET_LINK_LIBRARY command and support for debug and release libraries to link against
Diffstat (limited to 'Source/cmMakefile.h')
-rw-r--r--Source/cmMakefile.h35
1 files changed, 18 insertions, 17 deletions
diff --git a/Source/cmMakefile.h b/Source/cmMakefile.h
index 470a9c3..500ae44 100644
--- a/Source/cmMakefile.h
+++ b/Source/cmMakefile.h
@@ -146,9 +146,7 @@ public:
/**
* Get a list of link libraries in the build.
*/
- enum LinkLibraryType {GENERAL, DEBUG, OPTIMIZED};
- typedef std::vector<std::pair<std::string,LinkLibraryType> > LinkLibraries;
- LinkLibraries& GetLinkLibraries()
+ cmTarget::LinkLibraries& GetLinkLibraries()
{
return m_LinkLibraries;
}
@@ -157,7 +155,9 @@ public:
* Add a link library to the build.
*/
void AddLinkLibrary(const char*);
- void AddLinkLibrary(const char*, LinkLibraryType type);
+ void AddLinkLibrary(const char*, cmTarget::LinkLibraryType type);
+ void AddLinkLibraryForTarget(const char *tgt, const char*,
+ cmTarget::LinkLibraryType type);
/**
* Add a link directory to the build.
@@ -236,22 +236,12 @@ public:
* CMakeLists files by recursing up the tree starting at the StartDirectory
* and going up until it reaches the HomeDirectory.
*/
- void SetHomeDirectory(const char* dir)
- {
- m_cmHomeDirectory = dir;
- cmSystemTools::ConvertToUnixSlashes(m_cmHomeDirectory);
- this->AddDefinition("CMAKE_SOURCE_DIR", this->GetHomeDirectory());
- }
+ void SetHomeDirectory(const char* dir);
const char* GetHomeDirectory() const
{
return m_cmHomeDirectory.c_str();
}
- void SetHomeOutputDirectory(const char* lib)
- {
- m_HomeOutputDirectory = lib;
- cmSystemTools::ConvertToUnixSlashes(m_HomeOutputDirectory);
- this->AddDefinition("CMAKE_BINARY_DIR", this->GetHomeOutputDirectory());
- }
+ void SetHomeOutputDirectory(const char* lib);
const char* GetHomeOutputDirectory() const
{
return m_HomeOutputDirectory.c_str();
@@ -427,6 +417,12 @@ public:
void ExpandVariablesInString(std::string& source) const;
/**
+ * Remove any remaining variables in the string. Anything with ${var} or
+ * @var@ will be removed.
+ */
+ void RemoveVariablesInString(std::string& source) const;
+
+ /**
* Expand variables in the makefiles ivars such as link directories etc
*/
void ExpandVariables();
@@ -448,6 +444,11 @@ public:
/**
* find what source group this source is in
*/
+ void ReadSystemConfiguration(const char *fname);
+
+ /**
+ * find what source group this source is in
+ */
cmSourceGroup& FindSourceGroup(const char* source,
std::vector<cmSourceGroup> &groups);
@@ -474,7 +475,7 @@ protected:
std::vector<std::string> m_LinkDirectories;
std::vector<std::string> m_Utilities;
std::vector<std::string> m_UtilityDirectories;
- LinkLibraries m_LinkLibraries;
+ cmTarget::LinkLibraries m_LinkLibraries;
std::string m_IncludeFileRegularExpression;
std::string m_DefineFlags;
std::vector<cmSourceGroup> m_SourceGroups;