mirror of
https://github.com/Kitware/CMake.git
synced 2026-03-09 01:09:30 -05:00
OS X: Add CMP0042 to enable MACOSX_RPATH by default
Also adding documentation for CMAKE_MACOSX_RPATH, and improving documentation for MACOSX_RPATH.
This commit is contained in:
committed by
Brad King
parent
2a384e08cc
commit
d25ad482e9
@@ -75,3 +75,4 @@ All Policies
|
||||
/policy/CMP0039
|
||||
/policy/CMP0040
|
||||
/policy/CMP0041
|
||||
/policy/CMP0042
|
||||
|
||||
@@ -207,6 +207,7 @@ Variables that Control the Build
|
||||
/variable/CMAKE_LINK_LIBRARY_FILE_FLAG
|
||||
/variable/CMAKE_LINK_LIBRARY_FLAG
|
||||
/variable/CMAKE_MACOSX_BUNDLE
|
||||
/variable/CMAKE_MACOSX_RPATH
|
||||
/variable/CMAKE_MAP_IMPORTED_CONFIG_CONFIG
|
||||
/variable/CMAKE_MODULE_LINKER_FLAGS_CONFIG
|
||||
/variable/CMAKE_MODULE_LINKER_FLAGS
|
||||
|
||||
19
Help/policy/CMP0042.rst
Normal file
19
Help/policy/CMP0042.rst
Normal file
@@ -0,0 +1,19 @@
|
||||
CMP0042
|
||||
-------
|
||||
|
||||
:prop_tgt:`MACOSX_RPATH` is enabled by default.
|
||||
|
||||
CMake 2.8.12 and newer has support for using ``@rpath`` in a target's install
|
||||
name. This was enabled by setting the target property
|
||||
:prop_tgt:`MACOSX_RPATH`. The ``@rpath`` in an install name is a more
|
||||
flexible and powerful mechanism than ``@executable_path`` or ``@loader_path``
|
||||
for locating shared libraries.
|
||||
|
||||
CMake 3.0.0 and later prefer this property to be ON by default. Projects
|
||||
wanting ``@rpath`` in a target's install name may remove any setting of
|
||||
the :prop_tgt:`INSTALL_NAME_DIR` and :variable:`CMAKE_INSTALL_NAME_DIR`
|
||||
variables.
|
||||
|
||||
This policy was introduced in CMake version 3.0.0. CMake version
|
||||
|release| warns when the policy is not set and uses OLD behavior. Use
|
||||
the cmake_policy command to set it to OLD or NEW explicitly.
|
||||
@@ -4,7 +4,15 @@ MACOSX_RPATH
|
||||
Whether to use rpaths on Mac OS X.
|
||||
|
||||
When this property is set to true, the directory portion of
|
||||
the"install_name" field of shared libraries will default to
|
||||
"@rpath".Runtime paths will also be embedded in binaries using this
|
||||
target.This property is initialized by the value of the variable
|
||||
CMAKE_MACOSX_RPATH if it is set when a target is created.
|
||||
the "install_name" field of shared libraries will be ``@rpath``
|
||||
unless overridden by :prop_tgt:`INSTALL_NAME_DIR`. Runtime
|
||||
paths will also be embedded in binaries using this target and
|
||||
can be controlled by the :prop_tgt:`INSTALL_RPATH` target property.
|
||||
This property is initialized by the value of the variable
|
||||
:variable:`CMAKE_MACOSX_RPATH` if it is set when a target is
|
||||
created.
|
||||
|
||||
Policy CMP0042 was introduced to change the default value of
|
||||
MACOSX_RPATH to ON. This is because use of ``@rpath`` is a
|
||||
more flexible and powerful alternative to ``@executable_path`` and
|
||||
``@loader_path``.
|
||||
|
||||
7
Help/variable/CMAKE_MACOSX_RPATH.rst
Normal file
7
Help/variable/CMAKE_MACOSX_RPATH.rst
Normal file
@@ -0,0 +1,7 @@
|
||||
CMAKE_MACOSX_RPATH
|
||||
-------------------
|
||||
|
||||
Whether to use rpaths on Mac OS X.
|
||||
|
||||
This variable is used to initialize the :prop_tgt:`MACOSX_RPATH` property on
|
||||
all targets.
|
||||
Reference in New Issue
Block a user