CMP0195

在 4.1 版本中新增。

构建树中的 Swift 模块使用 Swift 模块目录结构。

Swift 编译器会发出多个构成 Swift 库接口的辅助文件。它接受单独查找这些文件,或将它们放在一个 swiftmodule 目录中。单个目录可以更好地组织事物,并使安装生成的产物更加容易。

CMake 4.1 及更高版本在与足够新的 Swift 编译器配合使用时,倾向于在目录结构中生成模块。此策略为尚未更新以期望新行为的项目提供了兼容性。

此策略的 OLD 行为是将接口文件直接发出到当前二进制目录。此策略的 NEW 行为是将二进制 swiftmodule 和其他补充编译器输出收集到一个 Swift 模块目录中。

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

注意

政策的 OLD 行为是 按定义弃用,并可能在未来的 CMake 版本中移除。