CMP0017

在包含来自 CMake 模块目录时,优先使用该目录中的文件。

从 CMake 2.8.4 开始,如果随 CMake 一起发布的 cmake 模块(位于 CMake 模块目录中)调用 include()find_package(),则位于 CMake 模块目录中的文件优先于 CMAKE_MODULE_PATH 中的文件。这可确保属于 CMake 的模块始终包含它们期望并且用来开发和测试的文件。在所有其他情况下,CMAKE_MODULE_PATH 中找到的文件仍优先于 CMake 模块目录中的文件。OLD 行为是始终优先使用 CMAKE_MODULE_PATH 中的文件,而不是使用 CMake 模块目录中的文件。

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

注意

一项策略的 OLD 行为被 deprecated by definition,并且可能会在未来版本的 CMake 中被移除。