Browse Source

Help: Document Apple Framework creation with an example (#15651)

Brad King 10 years ago
parent
commit
eb8eaaecbe

+ 2 - 0
Help/command/add_library.rst

@@ -33,6 +33,8 @@ type is ``STATIC`` or ``SHARED`` based on whether the current value of the
 variable :variable:`BUILD_SHARED_LIBS` is ``ON``.  For ``SHARED`` and
 ``MODULE`` libraries the :prop_tgt:`POSITION_INDEPENDENT_CODE` target
 property is set to ``ON`` automatically.
+A ``SHARED`` library may be marked with the :prop_tgt:`FRAMEWORK`
+target property to create an OS X Framework.
 
 By default the library file will be created in the build tree directory
 corresponding to the source tree directory in which the command was

+ 16 - 0
Help/manual/cmake-buildsystem.7.rst

@@ -85,6 +85,22 @@ It is a type which is loaded as a plugin using runtime techniques.
 
   add_library(archive MODULE 7z.cpp)
 
+.. _`Apple Frameworks`:
+
+Apple Frameworks
+""""""""""""""""
+
+A ``SHARED`` library may be marked with the :prop_tgt:`FRAMEWORK`
+target property to create an OS X Framework:
+
+.. code-block:: cmake
+
+  add_library(MyFramework SHARED MyFramework.cpp)
+  set_target_properties(MyFramework PROPERTIES
+    FRAMEWORK 1
+    FRAMEWORK_VERSION A
+    )
+
 .. _`Object Libraries`:
 
 Object Libraries

+ 1 - 0
Help/manual/cmake-properties.7.rst

@@ -135,6 +135,7 @@ Properties on Targets
    /prop_tgt/Fortran_FORMAT
    /prop_tgt/Fortran_MODULE_DIRECTORY
    /prop_tgt/FRAMEWORK
+   /prop_tgt/FRAMEWORK_VERSION
    /prop_tgt/GENERATOR_FILE_NAME
    /prop_tgt/GNUtoMS
    /prop_tgt/HAS_CXX

+ 3 - 1
Help/prop_tgt/FRAMEWORK.rst

@@ -6,4 +6,6 @@ This target is a framework on the Mac.
 If a shared library target has this property set to true it will be
 built as a framework when built on the mac.  It will have the
 directory structure required for a framework and will be suitable to
-be used with the -framework option
+be used with the ``-framework`` option
+
+See also the :prop_tgt:`FRAMEWORK_VERSION` target property.

+ 5 - 0
Help/prop_tgt/FRAMEWORK_VERSION.rst

@@ -0,0 +1,5 @@
+FRAMEWORK_VERSION
+-----------------
+
+Version of a framework created using the :prop_tgt:`FRAMEWORK` target
+property (e.g. ``A``).