CMP0118 — CMake 3.29.3 Documentation

# CMP0118

New in version 3.20.

The `GENERATED` source file property is now visible in all directories.

Whether or not a source file is generated is an all-or-nothing global property of the source. Consequently, the associated `GENERATED` property is now visible from any directory scope, not only from the scope for which it was set.

Additionally, the `GENERATED` property may now be set only to boolean values, and may not be turned off once turned on.

The `OLD` behavior of this policy is to only allow `GENERATED` to be visible from the directory scope for which it was set. The `NEW` behavior on the other hand allows it to be visible from any scope.

This policy was introduced in CMake version 3.20. It may be set by `cmake_policy()` or `cmake_minimum_required()`. If it is not set, CMake does not warn with regard to visibility of the `GENERATED` property, but does warn about setting the `GENERATED` property to a non-boolean value,, 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.