https://github.com/Kitware/CMake
Revision ffb9978e95ecab961f90be39e9a1225fdf6c0ae3 authored by Brad King on 16 September 2021, 12:23:17 UTC, committed by Kitware Robot on 16 September 2021, 12:24:56 UTC
1230ceb97e Help: Improve explanation on CMAKE_POLICY_WARNING warnings occur

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6522
2 parent s f5445e3 + 1230ceb
Raw File
Tip revision: ffb9978e95ecab961f90be39e9a1225fdf6c0ae3 authored by Brad King on 16 September 2021, 12:23:17 UTC
Merge topic 'clarify_cmake_policy_warning_doc'
Tip revision: ffb9978
CMP0111.rst
CMP0111
-------

.. versionadded:: 3.19

An imported target missing its location property fails during generation.

:ref:`Imported Targets` for library files and executables require that
their location on disk is specified in a target property such as
:prop_tgt:`IMPORTED_LOCATION`, :prop_tgt:`IMPORTED_IMPLIB`, or a
per-configuration equivalent.  If a needed location property is not set,
CMake 3.18 and below generate the string ``<TARGET_NAME>-NOTFOUND`` in
its place, which results in failures of the corresponding rules at build
time.  CMake 3.19 and above prefer instead to raise an error during
generation.  This policy provides compatibility for projects that have
not been updated to expect the new behavior.

The ``OLD`` behavior of this policy is to generate the location of an imported
unknown, static or shared library target as ``<TARGET_NAME>-NOTFOUND`` if not
set.
The ``NEW`` behavior is to raise an error.

This policy was introduced in CMake version 3.19.  CMake version |release|
warns when the policy is not set and uses ``OLD`` behavior. Use the
:command:`cmake_policy` command to set it to ``OLD`` or ``NEW`` explicitly.

.. include:: DEPRECATED.txt
back to top