CMP0109

在版本 3.19 中新增。

find_program() 需要執行權限,但不需要讀取權限。

在 CMake 3.18 及更早版本中,find_program() 命令在 UNIX 上會尋找可讀取但不需要執行權限的檔案,並且不會尋找可執行但沒有讀取權限的檔案。在 CMake 3.19 及更高版本中,find_program 現在傾向於要求執行權限,但不需要讀取權限。此策略為尚未更新以預期新行為的專案提供相容性。

此策略的 OLD 行為是讓 find_program 需要讀取權限,但不需要執行權限。此策略的 NEW 行為是讓 find_program 需要執行權限,但不需要讀取權限。

此策略在 CMake 版本 3.19 中引入。它可以透過 cmake_policy()cmake_minimum_required() 設定。如果未設定,CMake 會發出警告,並使用 OLD 行為。

注意

策略的 OLD 行為依定義已被 deprecated by definition 棄用,並可能在未來版本的 CMake 中移除。