CMP0070 — CMake 3.27.7 Documentation

# CMP0070

New in version 3.10.

Define `file(GENERATE)` behavior for relative paths.

CMake 3.10 and newer define that relative paths given to `INPUT` and `OUTPUT` arguments of `file(GENERATE)` are interpreted relative to the current source and binary directories, respectively. CMake 3.9 and lower did not define any behavior for relative paths but did not diagnose them either and accidentally treated them relative to the process working directory. Policy `CMP0070` provides compatibility with projects that used the old undefined behavior.

This policy affects behavior of relative paths given to `file(GENERATE)`. The `OLD` behavior for this policy is to treat the paths relative to the working directory of CMake. The `NEW` behavior for this policy is to interpret relative paths with respect to the current source or binary directory of the caller.

This policy was introduced in CMake version 3.10. CMake version 3.27.7 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.