diff options
author | Jannick <thirdedition@gmx.net> | 2019-11-07 00:13:27 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2019-11-15 16:46:06 (GMT) |
commit | c5fb36a4cb8bd3272e2e0b54e3947886ad7eb778 (patch) | |
tree | d67a021cd11e8a7dba8c1cee1e252ffb0e429fc8 /Help/policy/CMP0098.rst | |
parent | 5695b0464b411746b207da2ee23b8e2d9f8ffec2 (diff) | |
download | CMake-c5fb36a4cb8bd3272e2e0b54e3947886ad7eb778.zip CMake-c5fb36a4cb8bd3272e2e0b54e3947886ad7eb778.tar.gz CMake-c5fb36a4cb8bd3272e2e0b54e3947886ad7eb778.tar.bz2 |
FindFLEX: Add policy CMP0098 to run flex in build tree
Diffstat (limited to 'Help/policy/CMP0098.rst')
-rw-r--r-- | Help/policy/CMP0098.rst | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/Help/policy/CMP0098.rst b/Help/policy/CMP0098.rst new file mode 100644 index 0000000..6d1443b --- /dev/null +++ b/Help/policy/CMP0098.rst @@ -0,0 +1,30 @@ +CMP0098 +------- + +:module:`FindFLEX` runs ``flex`` in directory +:variable:`CMAKE_CURRENT_BINARY_DIR` when executing. + +The module provides a ``FLEX_TARGET`` macro which generates FLEX output. +In CMake 3.16 and below the macro would generate a custom command that runs +``flex`` in the current source directory. CMake 3.17 and later prefer to +run it in the build directory and use :variable:`CMAKE_CURRENT_BINARY_DIR` +as the ``WORKING_DIRECTORY`` of its :command:`add_custom_command` invocation. +This ensures that any implicitly generated file is written relative to the +build tree rather than the source tree, unless the generated file is +provided as absolute path. + +This policy provides compatibility for projects that have not been updated +to expect the new behavior. + +The ``OLD`` behavior for this policy is for ``FLEX_TARGET`` to use +the current source directory for the ``WORKING_DIRECTORY`` and where +to generate implicit files. The ``NEW`` behavior of this policy is to +use the current binary directory for the ``WORKING_DIRECTORY`` relative to +which implicit files are generated unless provided as absolute path. + +This policy was introduced in CMake version 3.17. Use the +:command:`cmake_policy` command to set it to ``OLD`` or ``NEW`` explicitly. +Unlike many policies, CMake version |release| does *not* warn +when this policy is not set and simply uses ``OLD`` behavior. + +.. include:: DEPRECATED.txt |