https://github.com/Kitware/CMake
Raw File
Tip revision: 7a04f45722b2cbe51e1586cd84d2c5ad90e759ed authored by Brad King on 06 November 2020, 14:19:57 UTC
CMake 3.19.0-rc3
Tip revision: 7a04f45
CMP0026.rst
CMP0026
-------

Disallow use of the LOCATION property for build targets.

CMake 2.8.12 and lower allowed reading the :prop_tgt:`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 :prop_tgt:`LOCATION` of a target
output.

Code which reads the :prop_tgt:`LOCATION` target property can be ported to
use the ``$<TARGET_FILE>`` generator expression together with the
:command:`file(GENERATE)` subcommand to generate a file containing
the target location.

The ``OLD`` behavior for this policy is to allow reading the :prop_tgt:`LOCATION`
properties from build-targets.  The ``NEW`` behavior for this policy is to
not to allow reading the :prop_tgt:`LOCATION` properties from build-targets.

This policy was introduced in CMake version 3.0.  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