# CMP0087

`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. CMake version 3.18.3 warns when the policy is not set and uses `OLD` behavior. Use the `cmake_policy()` command to set it to `OLD` or `NEW` explicitly.

Note

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