CMP0087 — CMake 4.3.0 Documentation

# CMP0087

Added in version 3.14.

`install(CODE)` and `install(SCRIPT)` support generator expressions.

In CMake 3.13 and earlier, `install(CODE)` and `install(SCRIPT)` did not evaluate generator expressions. CMake 3.14 and later will evaluate generator expressions for `install(CODE)` and `install(SCRIPT)`.

The `OLD` behavior of this policy is for `install(CODE)` and `install(SCRIPT)` to not evaluate generator expressions. The `NEW` behavior is to evaluate generator expressions for `install(CODE)` and `install(SCRIPT)`.

Note that it is the value of this policy setting at the end of the directory scope that is important, not its setting at the time of the call to `install(CODE)` or `install(SCRIPT)`. This has implications for calling these commands from places that have their own policy scope but not their own directory scope (e.g. from files brought in via `include()` rather than `add_subdirectory()`).

This policy was introduced in CMake version 3.14. It may be set by `cmake_policy()` or `cmake_minimum_required()`. If it is not set, CMake warns, and uses `OLD` behavior.

Note

The `OLD` behavior of a policy is deprecated by definition and may be removed in a future version of CMake.