CMP0145

在版本 3.27 中添加。

已删除 DartFindDart 模块。

在 CMake 发展得很早时,这两个模块被添加进去,目的是支持通过 “DART” 工具来驱动测试,但是 DART 多年来一直没有被分发或维护。项目会 include(Dart) 来使用它,而 Dart 模块会在内部运行 find_package(Dart)。自 ctest(1) 被创建以来,Dart 模块就一直是一个兼容性垫片,它会找到 Dart 以支持一些旧功能,然后转发到 CTest 模块。

CMake 3.27 及以上版本更倾向于不提供 DartFindDart 模块。这个策略为尚未迁移到新策略的项目提供兼容性。使用 Dart 模块的项目应更新为直接使用 CTest 模块。

此策略的 OLD 行为是让 include(Dart)find_package(Dart) 加载已弃用的模块。而 NEW 行为是模块的使用会失败,就像它们不存在一样。

此策略在 CMake 3.27 版本中引入。它可以通过 cmake_policy()cmake_minimum_required() 进行设置。如果没有设置,CMake 会发出警告并使用 OLD 行为。

注意

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