CMP0098
FindFLEX выполняет flex в каталоге CMAKE_CURRENT_BINARY_DIR при выполнении.
Модуль предоставляет макрос FLEX_TARGET, который генерирует вывод FLEX. В CMake 3.16 и ниже макрос генерировал бы пользовательскую команду, которая выполняет flex в текущем каталоге исходных кодов. CMake 3.17 и более поздние версии предпочитают выполнять его в каталоге сборки и использовать CMAKE_CURRENT_BINARY_DIR в качестве WORKING_DIRECTORY вызова add_custom_command(). Это гарантирует, что любой неявно сгенерированный файл записывается относительно дерева сборки, а не дерева исходных кодов, если сгенерированный файл не указан с абсолютным путём.
Данный политический параметр обеспечивает совместимость для проектов, которые не были обновлены для ожидания нового поведения.
Поведение OLD для этого политического параметра заключается в том, что FLEX_TARGET использует текущий каталог исходных кодов для WORKING_DIRECTORY и места генерации неявных файлов. Поведение NEW этого политического параметра заключается в использовании текущего каталога бинарных файлов для WORKING_DIRECTORY относительно которого генерируются неявные файлы, если не указан абсолютный путь.
Этот политический параметр был введён в версии CMake 3.17. Используйте команду cmake_policy(), чтобы явно установить его в значение OLD или NEW. В отличие от многих политических параметров, CMake версии 3.17.5 не выводит предупреждение, когда этот политический параметр не установлен, а просто использует поведение OLD.
Примечание
Поведение OLD политического параметра deprecated by definition и может быть удалено в будущих версиях CMake.
© 2000–2020 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.17/policy/CMP0098.html