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 版本中被移除。