Ver Fonte

Merge topic 'doc-apple-framework-creation'

eb8eaaec Help: Document Apple Framework creation with an example (#15651)
Brad King há 10 anos atrás
pai
commit
b2eff70f6b

+ 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
 variable :variable:`BUILD_SHARED_LIBS` is ``ON``.  For ``SHARED`` and
 ``MODULE`` libraries the :prop_tgt:`POSITION_INDEPENDENT_CODE` target
 ``MODULE`` libraries the :prop_tgt:`POSITION_INDEPENDENT_CODE` target
 property is set to ``ON`` automatically.
 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
 By default the library file will be created in the build tree directory
 corresponding to the source tree directory in which the command was
 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)
   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`:
 
 
 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_FORMAT
    /prop_tgt/Fortran_MODULE_DIRECTORY
    /prop_tgt/Fortran_MODULE_DIRECTORY
    /prop_tgt/FRAMEWORK
    /prop_tgt/FRAMEWORK
+   /prop_tgt/FRAMEWORK_VERSION
    /prop_tgt/GENERATOR_FILE_NAME
    /prop_tgt/GENERATOR_FILE_NAME
    /prop_tgt/GNUtoMS
    /prop_tgt/GNUtoMS
    /prop_tgt/HAS_CXX
    /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
 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
 built as a framework when built on the mac.  It will have the
 directory structure required for a framework and will be suitable to
 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``).