summaryrefslogtreecommitdiffstats
path: root/Source/cmGeneratorTarget.h
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2017-03-31 14:39:59 (GMT)
committerKitware Robot <kwrobot@kitware.com>2017-03-31 14:40:02 (GMT)
commitc791fb12544926bc5870a61735dc2ec62940a6f6 (patch)
treef4cfb4a96b5a855e259240511530425b38ff01fb /Source/cmGeneratorTarget.h
parent4a553ecb8e52dfd3ca605cd94ef8033e5febe937 (diff)
parentd1dac1acc502af2f2b766cc9b262a4f1294be39b (diff)
downloadCMake-c791fb12544926bc5870a61735dc2ec62940a6f6.zip
CMake-c791fb12544926bc5870a61735dc2ec62940a6f6.tar.gz
CMake-c791fb12544926bc5870a61735dc2ec62940a6f6.tar.bz2
Merge topic '16733-bundle-genex'
d1dac1ac Xcode: Execute RunCMake.Framework also for Xcode generator d02709d7 Genex: Add `TARGET_BUNDLE_[CONTENT_]_DIR` generator expressions 013ffe76 cmGeneratorTarget: Call GetFrameworkDirectory in GetFullNameInternal 32e9d0ca cmGeneratorTarget: Use enum to describe bundle directory query level Acked-by: Kitware Robot <kwrobot@kitware.com> Reviewed-by: Craig Scott <craig.scott@crascit.com> Merge-request: !635
Diffstat (limited to 'Source/cmGeneratorTarget.h')
-rw-r--r--Source/cmGeneratorTarget.h23
1 files changed, 16 insertions, 7 deletions
diff --git a/Source/cmGeneratorTarget.h b/Source/cmGeneratorTarget.h
index fcab4aa..255b89b 100644
--- a/Source/cmGeneratorTarget.h
+++ b/Source/cmGeneratorTarget.h
@@ -160,9 +160,17 @@ public:
bool realname) const;
std::string NormalGetRealName(const std::string& config) const;
+ /** What hierarchy level should the reported directory contain */
+ enum BundleDirectoryLevel
+ {
+ BundleDirLevel,
+ 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 +183,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 +191,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 +226,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,