CMP0098.rst 1.3 KB

12345678910111213141516171819202122232425262728293031
  1. CMP0098
  2. -------
  3. .. versionadded:: 3.17
  4. :module:`FindFLEX` runs ``flex`` in directory
  5. :variable:`CMAKE_CURRENT_BINARY_DIR` when executing.
  6. The module provides a ``FLEX_TARGET`` macro which generates FLEX output.
  7. In CMake 3.16 and below the macro would generate a custom command that runs
  8. ``flex`` in the current source directory. CMake 3.17 and later prefer to
  9. run it in the build directory and use :variable:`CMAKE_CURRENT_BINARY_DIR`
  10. as the ``WORKING_DIRECTORY`` of its :command:`add_custom_command` invocation.
  11. This ensures that any implicitly generated file is written relative to the
  12. build tree rather than the source tree, unless the generated file is
  13. provided as absolute path.
  14. This policy provides compatibility for projects that have not been updated
  15. to expect the new behavior.
  16. The ``OLD`` behavior for this policy is for ``FLEX_TARGET`` to use
  17. the current source directory for the ``WORKING_DIRECTORY`` and where
  18. to generate implicit files. The ``NEW`` behavior of this policy is to
  19. use the current binary directory for the ``WORKING_DIRECTORY`` relative to
  20. which implicit files are generated unless provided as absolute path.
  21. .. |INTRODUCED_IN_CMAKE_VERSION| replace:: 3.17
  22. .. |WARNS_OR_DOES_NOT_WARN| replace:: does *not* warn
  23. .. include:: STANDARD_ADVICE.txt
  24. .. include:: DEPRECATED.txt