CMP0026 — CMake 4.3.0 Documentation

# CMP0026

Warning

The `OLD` behavior of this policy was removed in CMake version 4.0. This policy must be set to `NEW` by a call to `cmake_minimum_required()` or `cmake_policy()`.

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. Prior to removal in CMake version 4.0, it could be set by `cmake_policy()` or `cmake_minimum_required()`. If it was not set, CMake warned, and used `OLD` behavior.