diff options
Diffstat (limited to 'Help/command/install.rst')
-rw-r--r-- | Help/command/install.rst | 22 |
1 files changed, 17 insertions, 5 deletions
diff --git a/Help/command/install.rst b/Help/command/install.rst index 6cea996..3a2b4da 100644 --- a/Help/command/install.rst +++ b/Help/command/install.rst @@ -115,19 +115,19 @@ project. There are several kinds of target files that may be installed: ``ARCHIVE`` Static libraries are treated as ``ARCHIVE`` targets, except those - marked with the ``FRAMEWORK`` property on OS X (see ``FRAMEWORK`` + marked with the ``FRAMEWORK`` property on macOS (see ``FRAMEWORK`` below.) For DLL platforms (all Windows-based systems including Cygwin), the DLL import library is treated as an ``ARCHIVE`` target. ``LIBRARY`` Module libraries are always treated as ``LIBRARY`` targets. For non- DLL platforms shared libraries are treated as ``LIBRARY`` targets, - except those marked with the ``FRAMEWORK`` property on OS X (see + except those marked with the ``FRAMEWORK`` property on macOS (see ``FRAMEWORK`` below.) ``RUNTIME`` Executables are treated as ``RUNTIME`` objects, except those marked - with the ``MACOSX_BUNDLE`` property on OS X (see ``BUNDLE`` below.) + with the ``MACOSX_BUNDLE`` property on macOS (see ``BUNDLE`` below.) For DLL platforms (all Windows-based systems including Cygwin), the DLL part of a shared library is treated as a ``RUNTIME`` target. @@ -137,11 +137,11 @@ project. There are several kinds of target files that may be installed: ``FRAMEWORK`` Both static and shared libraries marked with the ``FRAMEWORK`` - property are treated as ``FRAMEWORK`` targets on OS X. + property are treated as ``FRAMEWORK`` targets on macOS. ``BUNDLE`` Executables marked with the ``MACOSX_BUNDLE`` property are treated as - ``BUNDLE`` targets on OS X. + ``BUNDLE`` targets on macOS. ``PUBLIC_HEADER`` Any ``PUBLIC_HEADER`` files associated with a library are installed in @@ -280,6 +280,14 @@ targets that link to the object libraries in their implementation. Installing a target with the :prop_tgt:`EXCLUDE_FROM_ALL` target property set to ``TRUE`` has undefined behavior. +:command:`install(TARGETS)` can install targets that were created in +other directories. When using such cross-directory install rules, running +``make install`` (or similar) from a subdirectory will not guarantee that +targets from other directories are up-to-date. You can use +:command:`target_link_libraries` or :command:`add_dependencies` +to ensure that such out-of-directory targets are built before the +subdirectory-specific install rules are run. + The install destination given to the target install ``DESTINATION`` may use "generator expressions" with the syntax ``$<...>``. See the :manual:`cmake-generator-expressions(7)` manual for available expressions. @@ -427,6 +435,10 @@ example, the code will print a message during installation. +The contents of ``SCRIPT`` or ``CODE`` may use "generator expressions" with +the syntax ``$<...>``. See the :manual:`cmake-generator-expressions(7)` +manual for available expressions. + Installing Exports ^^^^^^^^^^^^^^^^^^ |