CMP0027 — CMake 4.0.1-dirty Documentation

# CMP0027

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()`.

Conditionally linked imported targets with missing include directories.

CMake 2.8.11 introduced introduced the concept of `INTERFACE_INCLUDE_DIRECTORIES`, and a check at cmake time that the entries in the `INTERFACE_INCLUDE_DIRECTORIES` of an `IMPORTED` target actually exist. CMake 2.8.11 also introduced generator expression support in the `target_link_libraries()` command. However, if an imported target is linked as a result of a generator expression evaluation, the entries in the `INTERFACE_INCLUDE_DIRECTORIES` of that target were not checked for existence as they should be.

The `OLD` behavior of this policy is to report a warning if an entry in the `INTERFACE_INCLUDE_DIRECTORIES` of a generator-expression conditionally linked `IMPORTED` target does not exist.

The `NEW` behavior of this policy is to report an error if an entry in the `INTERFACE_INCLUDE_DIRECTORIES` of a generator-expression conditionally linked `IMPORTED` target does not exist.

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.