summaryrefslogtreecommitdiffstats
path: root/Source/cmTarget.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'Source/cmTarget.cxx')
-rw-r--r--Source/cmTarget.cxx19
1 files changed, 17 insertions, 2 deletions
diff --git a/Source/cmTarget.cxx b/Source/cmTarget.cxx
index f1d0ac3..af92ccc 100644
--- a/Source/cmTarget.cxx
+++ b/Source/cmTarget.cxx
@@ -3628,7 +3628,7 @@ const char* cmTarget::NormalGetLocation(const char* config)
this->Location += cfgid;
}
- if(this->IsCFBundleOnApple() || this->IsAppBundleOnApple())
+ if(this->IsAppBundleOnApple())
{
std::string macdir = this->BuildMacContentDirectory("", config, false);
if(!macdir.empty())
@@ -4332,7 +4332,7 @@ std::string cmTarget::NormalGetFullPath(const char* config, bool implib,
{
std::string fpath = this->GetDirectory(config, implib);
fpath += "/";
- if(this->IsCFBundleOnApple() || this->IsAppBundleOnApple())
+ if(this->IsAppBundleOnApple())
{
fpath = this->BuildMacContentDirectory(fpath, config, false);
fpath += "/";
@@ -4478,6 +4478,21 @@ void cmTarget::GetFullNameInternal(const char* config,
targetSuffix = 0;
}
+ if(this->IsCFBundleOnApple())
+ {
+ fw_prefix = this->GetOutputName(config, false);
+ fw_prefix += ".";
+ const char *ext = this->GetProperty("BUNDLE_EXTENSION");
+ if (!ext)
+ {
+ ext = "bundle";
+ }
+ fw_prefix += ext;
+ fw_prefix += "/Contents/MacOS/";
+ targetPrefix = fw_prefix.c_str();
+ targetSuffix = 0;
+ }
+
// Begin the final name with the prefix.
outPrefix = targetPrefix?targetPrefix:"";