CMP0059 — CMake 3.27.9 Documentation

# CMP0059

New in version 3.3.

Do not treat `DEFINITIONS` as a built-in directory property.

CMake 3.3 and above no longer make a list of definitions available through the `DEFINITIONS` directory property. The `COMPILE_DEFINITIONS` directory property may be used instead.

The `OLD` behavior for this policy is to provide the list of flags given so far to the `add_definitions()` command. The `NEW` behavior is to behave as a normal user-defined directory property.

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