summaryrefslogtreecommitdiffstats
path: root/Source/cmTarget.cxx
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2008-01-28 19:46:16 (GMT)
committerBrad King <brad.king@kitware.com>2008-01-28 19:46:16 (GMT)
commite3b1bdb058ac23bc535b941fc2ed66a410932d74 (patch)
tree9cecfe783ed59bb4995c206967b5416c0ee689dc /Source/cmTarget.cxx
parent437043bb04da113bf822aa42d5cf3a3cc3366be1 (diff)
downloadCMake-e3b1bdb058ac23bc535b941fc2ed66a410932d74.zip
CMake-e3b1bdb058ac23bc535b941fc2ed66a410932d74.tar.gz
CMake-e3b1bdb058ac23bc535b941fc2ed66a410932d74.tar.bz2
ENH: Support exporting/importing of AppBundle targets.
- Imported bundles have the MACOSX_BUNDLE property set - Added cmTarget::IsAppBundleOnApple method to simplify checks - Document BUNDLE keyword in INSTALL command - Updated IMPORTED_LOCATION property documentation for bundles - Updated ExportImport test to test bundles
Diffstat (limited to 'Source/cmTarget.cxx')
-rw-r--r--Source/cmTarget.cxx10
1 files changed, 10 insertions, 0 deletions
diff --git a/Source/cmTarget.cxx b/Source/cmTarget.cxx
index 39b8a4e..5e37ced 100644
--- a/Source/cmTarget.cxx
+++ b/Source/cmTarget.cxx
@@ -205,6 +205,8 @@ void cmTarget::DefineProperties(cmake *cm)
"Full path to the main file on disk for an IMPORTED target.",
"Specifies the location of an IMPORTED target file on disk. "
"For executables this is the location of the executable file. "
+ "For bundles on OS X this is the location of the executable file "
+ "inside Contents/MacOS under the application bundle folder. "
"For static libraries and modules this is the location of the "
"library or module. "
"For shared libraries on non-DLL platforms this is the location of "
@@ -606,6 +608,14 @@ bool cmTarget::IsFrameworkOnApple()
}
//----------------------------------------------------------------------------
+bool cmTarget::IsAppBundleOnApple()
+{
+ return (this->GetType() == cmTarget::EXECUTABLE &&
+ this->Makefile->IsOn("APPLE") &&
+ this->GetPropertyAsBool("MACOSX_BUNDLE"));
+}
+
+//----------------------------------------------------------------------------
class cmTargetTraceDependencies
{
public: