CMP0041 — CMake 4.3.1 Documentation

# CMP0041

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

Error on relative include with generator expression.

Diagnostics in CMake 2.8.12 and lower silently ignored an entry in the `INTERFACE_INCLUDE_DIRECTORIES` of a target if it contained a generator expression at any position.

The path entries in that target property should not be relative. High-level API should ensure that by adding either a source directory or a install directory prefix, as appropriate.

As an additional diagnostic, the `INTERFACE_INCLUDE_DIRECTORIES` generated on an `IMPORTED` target for the install location should not contain paths in the source directory or the build directory.

The `OLD` behavior for this policy is to ignore relative path entries if they contain a generator expression. The `NEW` behavior for this policy is to report an error if a generator expression appears in another location and the path is relative.

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.