summaryrefslogtreecommitdiffstats
path: root/Source/cmTarget.h
diff options
context:
space:
mode:
authorDavid Cole <david.cole@kitware.com>2007-10-10 15:06:15 (GMT)
committerDavid Cole <david.cole@kitware.com>2007-10-10 15:06:15 (GMT)
commit8e4c7b99e1b73c641308c0177673dac33fe57df1 (patch)
treead00c757835a3ac785fd1b3e78ca3b75c2f1a354 /Source/cmTarget.h
parentaa9ba5c3efcd32ea631435318f63dc476ac39798 (diff)
downloadCMake-8e4c7b99e1b73c641308c0177673dac33fe57df1.zip
CMake-8e4c7b99e1b73c641308c0177673dac33fe57df1.tar.gz
CMake-8e4c7b99e1b73c641308c0177673dac33fe57df1.tar.bz2
ENH: Finish up the Framework creation code restructuring. Frameworks build and install now. More work needed on the packaging step. See Tests/Framework for example use.
Diffstat (limited to 'Source/cmTarget.h')
-rw-r--r--Source/cmTarget.h21
1 files changed, 21 insertions, 0 deletions
diff --git a/Source/cmTarget.h b/Source/cmTarget.h
index be0ed65..44e0a05 100644
--- a/Source/cmTarget.h
+++ b/Source/cmTarget.h
@@ -84,6 +84,23 @@ public:
void AddSourceFile(cmSourceFile* sf) { this->SourceFiles.push_back(sf); }
/**
+ * Flags for a given source file as used in this target. Typically assigned
+ * via SET_TARGET_PROPERTIES when the property is a list of source files.
+ */
+ struct SourceFileFlags
+ {
+ bool PrivateHeader; // source is in "PRIVATE_HEADER" target property
+ bool PublicHeader; // source is in "PUBLIC_HEADER" target property
+ bool Resource; // source is in "RESOURCE" target property *or*
+ // source has MACOSX_PACKAGE_LOCATION=="Resources"
+ };
+
+ /**
+ * Get the flags for a given source file as used in this target
+ */
+ struct SourceFileFlags GetTargetSourceFileFlags(const cmSourceFile* sf);
+
+ /**
* Add sources to the target.
*/
void AddSources(std::vector<std::string> const& srcs);
@@ -109,6 +126,7 @@ public:
void ClearDependencyInformation(cmMakefile& mf, const char* target);
// Check to see if a library is a framework and treat it different on Mac
+ bool NameResolvesToFramework(const std::string& libname);
bool AddFramework(const std::string& lib, LinkLibraryType llt);
void AddLinkLibrary(cmMakefile& mf,
const char *target, const char* lib,
@@ -360,6 +378,9 @@ private:
void SetPropertyDefault(const char* property, const char* default_value);
// Get the full path to the target output directory.
+ const char* GetAndCreateOutputDir(bool implib, bool create);
+
+ // Get the full path to the target output directory.
const char* GetOutputDir(bool implib);
const char* ImportedGetLocation(const char* config);