diff options
author | Robert Maynard <robert.maynard@kitware.com> | 2018-11-13 14:39:27 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2019-03-15 14:24:47 (GMT) |
commit | 9bede5c4cecd71fba7ce6a0687c4a68e1c84a54b (patch) | |
tree | 57e94c1e43b25ea3706b55cccff48d57b25dfc6d /Help/policy | |
parent | 0df31d99ae44e1e151feb4df977a4332833ea872 (diff) | |
download | CMake-9bede5c4cecd71fba7ce6a0687c4a68e1c84a54b.zip CMake-9bede5c4cecd71fba7ce6a0687c4a68e1c84a54b.tar.gz CMake-9bede5c4cecd71fba7ce6a0687c4a68e1c84a54b.tar.bz2 |
export: Disable PACKAGE mode user package registry by default
The user package registry populated by the `export()` command causes
side effects outside the build and source directories. Such effects
should be opt-in rather than op-out. Introduce a policy to change
default behavior of `export(PACKAGE)` to do nothing.
Diffstat (limited to 'Help/policy')
-rw-r--r-- | Help/policy/CMP0090.rst | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/Help/policy/CMP0090.rst b/Help/policy/CMP0090.rst new file mode 100644 index 0000000..720c17c --- /dev/null +++ b/Help/policy/CMP0090.rst @@ -0,0 +1,27 @@ +CMP0090 +------- + +:command:`export(PACKAGE)` does not populate package registry by default. + +In CMake 3.14 and below the :command:`export(PACKAGE)` command populated the +user package registry by default and users needed to set the +:variable:`CMAKE_EXPORT_NO_PACKAGE_REGISTRY` to disable it, e.g. in automated +build and packaging environments. Since the user package registry is stored +outside the build tree, this side effect should not be enabled by default. +Therefore CMake 3.15 and above prefer that :command:`export(PACKAGE)` does +nothing unless an explicit :variable:`CMAKE_EXPORT_PACKAGE_REGISTRY` variable +is set to enable it. This policy provides compatibility with projects that +have not been updated. + +The ``OLD`` behavior for this policy is for :command:`export(PACKAGE)` command +to populate the user package registry unless +:variable:`CMAKE_EXPORT_NO_PACKAGE_REGISTRY` is enabled. +The ``NEW`` behavior is for :command:`export(PACKAGE)` command to do nothing +unless the :variable:`CMAKE_EXPORT_PACKAGE_REGISTRY` is enabled. + +This policy was introduced in CMake version 3.15. Use the +:command:`cmake_policy` command to set it to ``OLD`` or ``NEW`` explicitly. +Unlike most policies, CMake version |release| does *not* warn +when this policy is not set and simply uses ``OLD`` behavior. + +.. include:: DEPRECATED.txt |