diff options
author | Deniz Bahadir <dbahadir@benocs.com> | 2017-09-05 15:32:32 (GMT) |
---|---|---|
committer | Deniz Bahadir <dbahadir@benocs.com> | 2017-11-07 14:08:41 (GMT) |
commit | 6a3922bebea607dcc23944b1fe79b7b613a893d1 (patch) | |
tree | 11e8021e6e744f444f87dfb2b6a8e602c9ad582c /Tests/RunCMake/set_property/IMPORTED_GLOBAL | |
parent | 854e482a59d6696bbb6988a045ac701e26bb038a (diff) | |
download | CMake-6a3922bebea607dcc23944b1fe79b7b613a893d1.zip CMake-6a3922bebea607dcc23944b1fe79b7b613a893d1.tar.gz CMake-6a3922bebea607dcc23944b1fe79b7b613a893d1.tar.bz2 |
Add new target-property `IMPORTED_GLOBAL`.
The purpose of this new `IMPORTED_GLOBAL` target-property is to prolong
the lifetime and scope of `IMPORTED` targets in such a way as if they
had been created with the keyword `GLOBAL` in the first place.
* It can only be set to `TRUE`. That means, a local `IMPORTED` target
can be promoted to global scope but a global `IMPORTED` target cannot
be degraded to local scope!
* Setting it to `TRUE` only succeeds if done from within the same
directory in which the `IMPORTED` target was created in the first
place.
Fixes #17256.
Diffstat (limited to 'Tests/RunCMake/set_property/IMPORTED_GLOBAL')
-rw-r--r-- | Tests/RunCMake/set_property/IMPORTED_GLOBAL/CMakeLists.txt | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/Tests/RunCMake/set_property/IMPORTED_GLOBAL/CMakeLists.txt b/Tests/RunCMake/set_property/IMPORTED_GLOBAL/CMakeLists.txt new file mode 100644 index 0000000..468bf78 --- /dev/null +++ b/Tests/RunCMake/set_property/IMPORTED_GLOBAL/CMakeLists.txt @@ -0,0 +1,8 @@ +add_library(ImportedSubdirTarget1 SHARED IMPORTED GLOBAL) +add_library(ImportedSubdirTarget2 SHARED IMPORTED) + +# Extend visibility of ImportedSubdirTarget2 to global scope. +set_property(TARGET ImportedSubdirTarget2 PROPERTY IMPORTED_GLOBAL TRUE) + +# Only targets from the same directory can be promoted. +set_property(TARGET ImportedLocalTarget2 PROPERTY IMPORTED_GLOBAL TRUE) |