summaryrefslogtreecommitdiffstats
path: root/Source/cmTarget.cxx
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2008-09-02 16:06:32 (GMT)
committerBrad King <brad.king@kitware.com>2008-09-02 16:06:32 (GMT)
commitf89dae7a9473a05ecd2ccbfe409b6f33523da603 (patch)
treef28b8d91e2fa1c5604764185d30a3ecb9b093f5f /Source/cmTarget.cxx
parenta54e97cf946e82de6b73c26c64b7fe3efdf0be43 (diff)
downloadCMake-f89dae7a9473a05ecd2ccbfe409b6f33523da603.zip
CMake-f89dae7a9473a05ecd2ccbfe409b6f33523da603.tar.gz
CMake-f89dae7a9473a05ecd2ccbfe409b6f33523da603.tar.bz2
ENH: Create Info.plist files in OS X Frameworks
A Mac OS X Framework should provide a Resources/Info.plist file containing meta-data about the framework. This change generates a default Info.plist for frameworks and provides an interface for users to customize it.
Diffstat (limited to 'Source/cmTarget.cxx')
-rw-r--r--Source/cmTarget.cxx20
1 files changed, 20 insertions, 0 deletions
diff --git a/Source/cmTarget.cxx b/Source/cmTarget.cxx
index e4d7307..0fbae69 100644
--- a/Source/cmTarget.cxx
+++ b/Source/cmTarget.cxx
@@ -589,6 +589,26 @@ void cmTarget::DefineProperties(cmake *cm)
"hard-code all the settings instead of using the target properties.");
cm->DefineProperty
+ ("MACOSX_FRAMEWORK_INFO_PLIST", cmProperty::TARGET,
+ "Specify a custom Info.plist template for a Mac OS X Framework.",
+ "An library target with FRAMEWORK enabled will be built as a "
+ "framework on Mac OS X. "
+ "By default its Info.plist file is created by configuring a template "
+ "called MacOSXFrameworkInfo.plist.in located in the CMAKE_MODULE_PATH. "
+ "This property specifies an alternative template file name which "
+ "may be a full path.\n"
+ "The following target properties may be set to specify content to "
+ "be configured into the file:\n"
+ " MACOSX_FRAMEWORK_ICON_FILE\n"
+ " MACOSX_FRAMEWORK_IDENTIFIER\n"
+ " MACOSX_FRAMEWORK_SHORT_VERSION_STRING\n"
+ " MACOSX_FRAMEWORK_BUNDLE_VERSION\n"
+ "CMake variables of the same name may be set to affect all targets "
+ "in a directory that do not have each specific property set. "
+ "If a custom Info.plist is specified by this property it may of course "
+ "hard-code all the settings instead of using the target properties.");
+
+ cm->DefineProperty
("ENABLE_EXPORTS", cmProperty::TARGET,
"Specify whether an executable exports symbols for loadable modules.",
"Normally an executable does not export any symbols because it is "