Hello.
I think before release CMake 3.4.0 the documentation needs to be updated, to
reflect last changes in CMake regarding Apple platform.
I have created bug report for that issue:
https://public.kitware.com/Bug/view.php?id=15843
I also updated documentation. Please take a look at attachment.
Best Regards
Bartosz
From f4889ec1dbe8348baab544e6aa378f8cee12b2b7 Mon Sep 17 00:00:00 2001
From: Bartosz Kosiorek
Date: Wed, 11 Nov 2015 05:37:15 +0100
Subject: [PATCH] Update documentation to reflect support for iOS.
---
Help/manual/cmake-buildsystem.7.rst | 9 ++---
Help/prop_sf/MACOSX_PACKAGE_LOCATION.rst | 26 +
Help/prop_tgt/BUNDLE.rst | 6 +++---
Help/prop_tgt/BUNDLE_EXTENSION.rst| 4 ++--
Help/prop_tgt/ENABLE_EXPORTS.rst | 4 ++--
Help/prop_tgt/FRAMEWORK.rst | 28 +++
Help/prop_tgt/FRAMEWORK_VERSION.rst | 3 +++
Help/prop_tgt/MACOSX_BUNDLE.rst | 16 +++
Help/prop_tgt/MACOSX_BUNDLE_INFO_PLIST.rst| 4 ++--
Help/prop_tgt/MACOSX_FRAMEWORK_INFO_PLIST.rst | 4 ++--
Help/prop_tgt/MACOSX_RPATH.rst| 6 +++---
Help/prop_tgt/OSX_ARCHITECTURES_CONFIG.rst| 2 +-
Help/prop_tgt/PRIVATE_HEADER.rst | 10 +-
Help/prop_tgt/PUBLIC_HEADER.rst | 12 ++--
Help/prop_tgt/RESOURCE.rst| 12 ++--
Help/variable/APPLE.rst | 4 ++--
Help/variable/CMAKE_ENABLE_EXPORTS.rst| 8
Help/variable/CMAKE_HOST_SYSTEM_NAME.rst | 2 +-
Help/variable/CMAKE_INSTALL_NAME_DIR.rst | 2 +-
Help/variable/CMAKE_MACOSX_RPATH.rst | 2 +-
Help/variable/CMAKE_OSX_ARCHITECTURES.rst | 2 +-
21 files changed, 97 insertions(+), 69 deletions(-)
diff --git a/Help/manual/cmake-buildsystem.7.rst b/Help/manual/cmake-buildsystem.7.rst
index bc633e6..475d241 100644
--- a/Help/manual/cmake-buildsystem.7.rst
+++ b/Help/manual/cmake-buildsystem.7.rst
@@ -95,15 +95,18 @@ Apple Frameworks
A ``SHARED`` library may be marked with the :prop_tgt:`FRAMEWORK`
-target property to create an OS X Framework:
+target property to create an OS X or iOS Framework Bundle.
+The :prop_tgt:`MACOSX_FRAMEWORK_IDENTIFIER` sets ``CFBundleIdentifier`` key
+and it uniquely identifies the bundle.
.. code-block:: cmake
add_library(MyFramework SHARED MyFramework.cpp)
set_target_properties(MyFramework PROPERTIES
-FRAMEWORK 1
+FRAMEWORK TRUE
FRAMEWORK_VERSION A
-)
+MACOSX_FRAMEWORK_IDENTIFIER org.cmake.MyFramework
+ )
.. _`Object Libraries`:
diff --git a/Help/prop_sf/MACOSX_PACKAGE_LOCATION.rst b/Help/prop_sf/MACOSX_PACKAGE_LOCATION.rst
index 27f2929..1b5b97b 100644
--- a/Help/prop_sf/MACOSX_PACKAGE_LOCATION.rst
+++ b/Help/prop_sf/MACOSX_PACKAGE_LOCATION.rst
@@ -1,19 +1,21 @@
MACOSX_PACKAGE_LOCATION
---
-Place a source file inside a Mac OS X bundle, CFBundle, or framework.
+Place a source file inside a Application Bundle (:prop_tgt:`MACOSX_BUNDLE`),
+Core Foundation Bundle (:prop_tgt:`BUNDLE`), or Framework Bundle (:prop_tgt:`FRAMEWORK`).
+It is applicable for OS X and iOS.
-Executable targets with the MACOSX_BUNDLE property set are built as
-Mac OS X application bundles on Apple platforms. Shared library
-targets with the FRAMEWORK property set are built as Mac OS X
-frameworks on Apple platforms. Module library targets with the BUNDLE
-property set are built as Mac OS X CFBundle bundles on Apple
+Executable targets with the :prop_tgt:`MACOSX_BUNDLE` property set are built as
+OS X or iOS application bundles on Apple platforms. Shared library
+targets with the :prop_tgt:`FRAMEWORK` property set are built as OS X or iOS
+frameworks on Apple platforms. Module library targets with the :prop_tgt:`BUNDLE`
+property set are built as OS X ``CFBundle`` bundles on Apple
platforms. Source files listed in the target with this property set
will be copied to a directory inside the bundle or framework content
-folder specified by the property value. For bundles the content
-folder is ".app/Contents". For frameworks the content folder is
-".framework/Versions/". For cfbundles the content
-folder is ".bundle/Contents" (unless the extension is changed).
-See the PUBLIC_HEADER, PRIVATE_HEADER, and RESOURCE target properties
-for specifying files meant for Headers, PrivateHeaders, or Resources
+folder specified by the property value. For OS X Application Bundles the content
+folder is ``.app/Contents``. For OS X Frameworks the content folder is
+``.framework/Versions/``. For OS X CFBundles the content
+folder is ``.bundle/Contents`` (unless the extension is changed).
+See the :prop_tgt:`PUBLIC_HEADER`, :prop_tgt:`PRIVATE_HEADER`, and :prop_tgt:`RESOURCE` target properties
+for specifying files meant for ``Headers``, ``PrivateHeaders``, or ``Resources``