summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2008-04-14 19:27:27 (GMT)
committerBrad King <brad.king@kitware.com>2008-04-14 19:27:27 (GMT)
commit629afe07ce50d027b26cf9a62986a08cb4dac578 (patch)
tree10f8988f1c5e58a837a45400aea4cf9d885d5ea8
parent820901dd134dd5963fd24e9806fbbf759fd5de14 (diff)
downloadCMake-629afe07ce50d027b26cf9a62986a08cb4dac578.zip
CMake-629afe07ce50d027b26cf9a62986a08cb4dac578.tar.gz
CMake-629afe07ce50d027b26cf9a62986a08cb4dac578.tar.bz2
BUG: A per-config target name postfix should be ignored for Mac bundle and framework names.
-rw-r--r--Source/cmTarget.cxx10
-rw-r--r--Tests/Framework/CMakeLists.txt1
2 files changed, 9 insertions, 2 deletions
diff --git a/Source/cmTarget.cxx b/Source/cmTarget.cxx
index e7bf4ec..1bf3061 100644
--- a/Source/cmTarget.cxx
+++ b/Source/cmTarget.cxx
@@ -134,8 +134,8 @@ void cmTarget::DefineProperties(cmake *cm)
("DEBUG_POSTFIX", cmProperty::TARGET,
"A postfix that will be applied to this target when build debug.",
"A property on a target that specifies a postfix to add to the "
- "target name when built in debug mode. For example foo.dll "
- "versus fooD.dll");
+ "target name when built in debug mode. For example \"foo.dll\" "
+ "versus \"fooD.dll\". Ignored for Mac Frameworks and App Bundles.");
cm->DefineProperty
("EchoString", cmProperty::TARGET,
@@ -2311,6 +2311,12 @@ void cmTarget::GetFullNameInternal(TargetType type,
std::string configProp = cmSystemTools::UpperCase(config);
configProp += "_POSTFIX";
configPostfix = this->GetProperty(configProp.c_str());
+ // Mac application bundles and frameworks have no postfix.
+ if(configPostfix &&
+ (this->IsAppBundleOnApple() || this->IsFrameworkOnApple()))
+ {
+ configPostfix = 0;
+ }
}
const char* prefixVar = this->GetPrefixVariableInternal(type, implib);
const char* suffixVar = this->GetSuffixVariableInternal(type, implib);
diff --git a/Tests/Framework/CMakeLists.txt b/Tests/Framework/CMakeLists.txt
index 3eb0dbc..397e970 100644
--- a/Tests/Framework/CMakeLists.txt
+++ b/Tests/Framework/CMakeLists.txt
@@ -24,6 +24,7 @@ set_target_properties(foo PROPERTIES
PUBLIC_HEADER "foo.h;foo2.h;fooPublic.h;fooBoth.h"
RESOURCE "test.lua"
INSTALL_NAME_DIR "@executable_path/../../../Library/Frameworks"
+ DEBUG_POSTFIX -d
)
# fooBoth.h is listed as both public and private... (private wins...)
# fooNeither.h is listed as neither public nor private...