diff options
Diffstat (limited to 'Help/policy')
-rw-r--r-- | Help/policy/CMP0118.rst | 6 | ||||
-rw-r--r-- | Help/policy/CMP0163.rst | 37 |
2 files changed, 43 insertions, 0 deletions
diff --git a/Help/policy/CMP0118.rst b/Help/policy/CMP0118.rst index 593beac..5c04927 100644 --- a/Help/policy/CMP0118.rst +++ b/Help/policy/CMP0118.rst @@ -24,6 +24,12 @@ The ``NEW`` behavior of this policy is to allow generated files to be used in other directories without explicitly turning on the ``GENERATED`` property for those directories. +.. versionadded:: 3.30 + + Policy :policy:`CMP0163` additionally makes the :prop_sf:`GENERATED` source + file property visible to :command:`get_property` and + :command:`get_source_file_property` calls in other directories. + .. |INTRODUCED_IN_CMAKE_VERSION| replace:: 3.20 .. |WARNS_OR_DOES_NOT_WARN| replace:: warns about setting the ``GENERATED`` property to a non-boolean value diff --git a/Help/policy/CMP0163.rst b/Help/policy/CMP0163.rst new file mode 100644 index 0000000..40b3535 --- /dev/null +++ b/Help/policy/CMP0163.rst @@ -0,0 +1,37 @@ +CMP0163 +------- + +.. versionadded:: 3.30 + +The :prop_sf:`GENERATED` source file property is now visible in all directories. + +In CMake 3.29 and below, the :prop_sf:`GENERATED` source file property, +like other source file properties, was scoped in every directory separately. +Although policy :policy:`CMP0118` allowed sources marked ``GENERATED`` in one +directory to be used in other directories without manually marking them as +``GENERATED`` again, the ``GENERATED`` property was still not visible to +:command:`get_property` and :command:`get_source_file_property` calls. + +Whether or not a source file is generated is an all-or-nothing global +property of the source: a source is either generated or it is not. +CMake 3.30 and above prefer to treat the :prop_sf:`GENERATED` source file +property as globally scoped. Once it is set in one directory, it is +immediately visible to :command:`get_property` and +:command:`get_source_file_property` calls in other directories. +This policy provides compatibility for projects that have not been +updated for this behavior. + +The ``OLD`` behavior of this policy is for the ``GENERATED`` source file +property to be visible only in the directories in which it is set. The +``NEW`` behavior of this policy is to allow the ``GENERATED`` source file +property to be visible in all directories once set in any directory. +Furthermore, the ``NEW`` behavior of this policy implies the ``NEW`` +behavior of policy :policy:`CMP0118`: the ``GENERATED`` property may +be set only to boolean values, and may not be turned off once turned on. + +.. |INTRODUCED_IN_CMAKE_VERSION| replace:: 3.30 +.. |WARNS_OR_DOES_NOT_WARN| replace:: + does *not* warn +.. include:: STANDARD_ADVICE.txt + +.. include:: DEPRECATED.txt |