CMP0109

在 3.19 版本中添加。

find_program() 需要执行权限,但不需要读取权限。

在 CMake 3.18 及更低版本中,UNIX 上的 find_program() 命令将查找可读文件,而不要求执行权限,并且不会查找可执行文件没有读取权限的文件。在 CMake 3.19 及更高版本中,find_program 现在优先要求执行权限,而不要求读取权限。此策略为尚未更新为预期新行为的项目提供了兼容性。

此策略的 OLD 行为要求 find_program 要有读取权限,但不需要执行权限。此策略的 NEW 行为要求 find_program 要有执行权限,但不需要读取权限。

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

注意

策略的 OLD 行为 已弃用 by definition,并且可能会在 CMake 的未来版本中删除。