diff options
author | Zack Galbreath <zack.galbreath@kitware.com> | 2018-06-18 14:49:44 (GMT) |
---|---|---|
committer | Zack Galbreath <zack.galbreath@kitware.com> | 2018-06-18 17:18:54 (GMT) |
commit | e89ad0f94e6b52cc9f75abe21107c7a2e5d24ca2 (patch) | |
tree | 5a31b0413bac45f1dbd5e013215a44431076542d /Help/command | |
parent | b0b99d877e92028a0265ac86d1d6c79276a04811 (diff) | |
download | CMake-e89ad0f94e6b52cc9f75abe21107c7a2e5d24ca2.zip CMake-e89ad0f94e6b52cc9f75abe21107c7a2e5d24ca2.tar.gz CMake-e89ad0f94e6b52cc9f75abe21107c7a2e5d24ca2.tar.bz2 |
install: Allow installing targets created in another directory
Previously, `install(TARGETS)` would only accept targets created in the same
directory scope. Relax this restriction by searching the global scope when
determining whether or not a target exists.
Fixes: #14444
Diffstat (limited to 'Help/command')
-rw-r--r-- | Help/command/install.rst | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/Help/command/install.rst b/Help/command/install.rst index 08cbc56..8b2a971 100644 --- a/Help/command/install.rst +++ b/Help/command/install.rst @@ -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. |