summaryrefslogtreecommitdiffstats
path: root/Help/include/INTERFACE_LINK_LIBRARIES_WARNING.txt
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2015-04-02 20:12:00 (GMT)
committerBrad King <brad.king@kitware.com>2015-04-03 14:52:24 (GMT)
commit227992c3a693bb56ee6f6600a10c6eb19c6fb311 (patch)
tree3978150a62bc56783bc8cf7f6794314e083da840 /Help/include/INTERFACE_LINK_LIBRARIES_WARNING.txt
parent031d894fb882ca2e8c2269ba1674578f82155420 (diff)
downloadCMake-227992c3a693bb56ee6f6600a10c6eb19c6fb311.zip
CMake-227992c3a693bb56ee6f6600a10c6eb19c6fb311.tar.gz
CMake-227992c3a693bb56ee6f6600a10c6eb19c6fb311.tar.bz2
Help: Reorganize and refine discussion of relocatable packages
Re-organize the content added to the cmake-packages(7) manual by * commit v3.0.0-rc1~184^2 (Help: Document export(EXPORT) in the cmake-packages manual, 2013-12-23), * commit v3.0.0-rc1~154^2~1 (Help: Add notes about relocatability of config-file packages, 2014-01-07), and * commit v3.2.0-rc1~345^2 (Help: Warn that paths should not be used in INTERFACE_ build properties, 2014-11-22). These commits broke the natural flow of the original manual and made wording after the new content make less sense. Move the content into new subsections to restore the flow of the original manual and to make explicitly the purpose of the new content. Shorten the relocatable usage requirement "warnings". Refer to the new cmake-packages(7) manual subsection to reduce duplication. Also clarify the distinction between paths to library dependencies and paths to their header files.
Diffstat (limited to 'Help/include/INTERFACE_LINK_LIBRARIES_WARNING.txt')
-rw-r--r--Help/include/INTERFACE_LINK_LIBRARIES_WARNING.txt25
1 files changed, 6 insertions, 19 deletions
diff --git a/Help/include/INTERFACE_LINK_LIBRARIES_WARNING.txt b/Help/include/INTERFACE_LINK_LIBRARIES_WARNING.txt
index ceefa4d..46e84ac 100644
--- a/Help/include/INTERFACE_LINK_LIBRARIES_WARNING.txt
+++ b/Help/include/INTERFACE_LINK_LIBRARIES_WARNING.txt
@@ -1,23 +1,10 @@
Note that it is not advisable to populate the
-|INTERFACE_PROPERTY_LINK| of a target with paths for dependencies.
-That would hard-code into installed packages the include directory paths
+|INTERFACE_PROPERTY_LINK| of a target with absolute paths to dependencies.
+That would hard-code into installed packages the library file paths
for dependencies **as found on the machine the package was made on**.
-That is, code like this is incorrect for targets which will be used to
-generate :manual:`cmake-packages(7)`:
-
-.. code-block:: cmake
-
- target_link_libraries(mylib INTERFACE
- ${Boost_LIBRARIES};${OtherDep_LIBRARIES}
- )
-
-Dependencies must provide their own :ref:`IMPORTED targets <Imported Targets>`
-which have their own :prop_tgt:`IMPORTED_LOCATION` populated
-appropriately. That way, when a consumer uses the installed package, the
-consumer will run the appropriate :command:`find_package` command to find
-the dependencies on their own machine and populate the
-:ref:`IMPORTED targets <Imported Targets>` with appropriate paths. See
-:ref:`Creating Packages` for more. Note that many modules currently shipped
-with CMake do not currently provide :ref:`IMPORTED targets <Imported Targets>`.
+See the :ref:`Creating Relocatable Packages` section of the
+:manual:`cmake-packages(7)` manual for discussion of additional care
+that must be taken when specifying usage requirements while creating
+packages for redistribution.