summaryrefslogtreecommitdiffstats
path: root/Source/cmGeneratorTarget.h
diff options
context:
space:
mode:
authorGregor Jasny <gjasny@googlemail.com>2017-03-28 07:43:38 (GMT)
committerGregor Jasny <gjasny@googlemail.com>2017-03-30 20:24:54 (GMT)
commit32e9d0ca233439c0381abc5acee8a5acd30be494 (patch)
treea5ac7ea964884f973461d0c999acf82183a12d4e /Source/cmGeneratorTarget.h
parent3e2f6bd96219ac096826fbc2ea6bc8fe8f0b4a88 (diff)
downloadCMake-32e9d0ca233439c0381abc5acee8a5acd30be494.zip
CMake-32e9d0ca233439c0381abc5acee8a5acd30be494.tar.gz
CMake-32e9d0ca233439c0381abc5acee8a5acd30be494.tar.bz2
cmGeneratorTarget: Use enum to describe bundle directory query level
Diffstat (limited to 'Source/cmGeneratorTarget.h')
-rw-r--r--Source/cmGeneratorTarget.h22
1 files changed, 15 insertions, 7 deletions
diff --git a/Source/cmGeneratorTarget.h b/Source/cmGeneratorTarget.h
index d60ad24..07a59ae 100644
--- a/Source/cmGeneratorTarget.h
+++ b/Source/cmGeneratorTarget.h
@@ -160,9 +160,16 @@ public:
bool realname) const;
std::string NormalGetRealName(const std::string& config) const;
+ /** What hierarchy level should the reported directory contain */
+ enum BundleDirectoryLevel
+ {
+ ContentLevel,
+ FullLevel
+ };
+
/** @return the Mac App directory without the base */
std::string GetAppBundleDirectory(const std::string& config,
- bool contentOnly) const;
+ BundleDirectoryLevel level) const;
/** Return whether this target is an executable Bundle, a framework
or CFBundle on Apple. */
@@ -175,7 +182,7 @@ public:
/** @return the Mac framework directory without the base. */
std::string GetFrameworkDirectory(const std::string& config,
- bool rootDir) const;
+ BundleDirectoryLevel level) const;
/** Return the framework version string. Undefined if
IsFrameworkOnApple returns false. */
@@ -183,7 +190,7 @@ public:
/** @return the Mac CFBundle directory without the base */
std::string GetCFBundleDirectory(const std::string& config,
- bool contentOnly) const;
+ BundleDirectoryLevel level) const;
/** Return the install name directory for the target in the
* build tree. For example: "\@rpath/", "\@loader_path/",
@@ -218,10 +225,11 @@ public:
const std::string& config = "",
bool implib = false) const;
- /** Append to @a base the mac content directory and return it. */
- std::string BuildMacContentDirectory(const std::string& base,
- const std::string& config = "",
- bool contentOnly = true) const;
+ /** Append to @a base the bundle directory hierarchy up to a certain @a level
+ * and return it. */
+ std::string BuildBundleDirectory(const std::string& base,
+ const std::string& config,
+ BundleDirectoryLevel level) const;
/** @return the mac content directory for this target. */
std::string GetMacContentDirectory(const std::string& config = CM_NULLPTR,