New in version 3.19.
An imported target missing its location property fails during generation.
Imported Targets for library files and executables require that their location on disk is specified in a target property such as IMPORTED_LOCATION
, 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 3.19.0-rc3 warns when the policy is not set and uses OLD
behavior. Use the cmake_policy()
command to set it to OLD
or NEW
explicitly.
Note
The OLD
behavior of a policy is deprecated by definition
and may be removed in a future version of CMake.
© 2000–2020 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.19/policy/CMP0111.html