CMP0109

在 3.19 版本加入.

find_program() 需要执行权限而不是读取权限。

在 CMake 3.18 及以下版本中,UNIX 上的 find_program() 命令会查找无需执行权限即可读取的文件,而不会查找无需读取权限即可执行的文件。在 CMake 3.19 及更高版本中,find_program 现在更倾向于要求执行权限而不是读取权限。此策略提供与尚未更新以期待新行为的项目的兼容性。

此策略的“旧”行为是“find_program”需要读取权限但不需要执行权限。此策略的“新”行为是“find_program”需要执行权限但不需要读取权限。

此策略是在 CMake 版本 3.19 中引入的。 CMake 版本 |发布|当未设置策略并使用“旧”行为时发出警告。使用 cmake_policy() 命令将其显式设置为 OLDNEW

备注

策略的“旧”行为是 :manual:根据定义 <cmake-policies(7)> 已弃用,并且可能会在未来版本的 CMake 中删除。