CMP0088

3.14 版新增。

FindBISON 在执行时会在 CMAKE_CURRENT_BINARY_DIR 中运行 bison。

该模块提供了一个 bison_target() 命令,用于生成 BISON 输出。在 CMake 3.13 及更早版本中,该命令会在源目录中生成一个运行 bison 的自定义构建规则。CMake 3.14 及更高版本倾向于在构建目录中运行它,并将 CMAKE_CURRENT_BINARY_DIR 用作其 add_custom_command() 调用的 WORKING_DIRECTORY。这确保了任何隐式生成的文件都会写入构建树而不是源目录。

此策略为尚未更新以适应新行为的项目提供了兼容性。

此策略的 OLD 行为是 bison_target() 使用当前源目录作为 WORKING_DIRECTORY 以及隐式文件生成的位置。此策略的 NEW 行为是使用当前二进制目录作为 WORKING_DIRECTORY 以及隐式文件生成的位置。

此策略引入于 CMake 版本 3.14。它可以由 cmake_policy()cmake_minimum_required() 设置。如果未设置,CMake **不会** 警告,并使用 OLD 行为。

注意

策略的 OLD 行为 根据定义已被弃用,并可能在未来的 CMake 版本中被移除。