summaryrefslogtreecommitdiffstats
path: root/Help/policy/CMP0090.rst
blob: 58dd999724fd2298678c8a0bbfa1c8799a706d1e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
CMP0090
-------

.. versionadded:: 3.15

: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