Disallow use of the LOCATION property for build targets.
CMake 2.8.12 and lower allowed reading the LOCATION
target property (and configuration-specific variants) to determine the eventual location of build targets. This relies on the assumption that all necessary information is available at configure-time to determine the final location and filename of the target. However, this property is not fully determined until later at generate-time. At generate time, the $<TARGET_FILE>
generator expression can be used to determine the eventual LOCATION
of a target output.
Code which reads the LOCATION
target property can be ported to use the $<TARGET_FILE>
generator expression together with the file(GENERATE)
subcommand to generate a file containing the target location.
The OLD
behavior for this policy is to allow reading the LOCATION
properties from build-targets. The NEW
behavior for this policy is to not to allow reading the LOCATION
properties from build-targets.
This policy was introduced in CMake version 3.0. 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/CMP0026.html