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_IMPLIB, or a
per-configuration equivalent. If a needed location property is not set,
CMake 3.18 and below generate the string
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.
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
NEW behavior is to raise an error.
This policy was introduced in CMake version 3.19. CMake version 3.21.7
warns when the policy is not set and uses
OLD behavior. Use the
cmake_policy() command to set it to
OLD behavior of a policy is
deprecated by definition
and may be removed in a future version of CMake.