CMP0059
-------

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 :prop_dir:`DEFINITIONS` directory property.  The
:prop_dir:`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 :command:`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 |release| warns when the policy is not set and uses
``OLD`` behavior.  Use the :command:`cmake_policy` command to set
it to ``OLD`` or ``NEW`` explicitly.

.. include:: DEPRECATED.txt
