diff options
Diffstat (limited to 'Source/cmTarget.cxx')
-rw-r--r-- | Source/cmTarget.cxx | 19 |
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:""; |