# CMP0109

New in version 3.19.

`find_program()` requires permission to execute but not to read.

In CMake 3.18 and below, the `find_program()` command on UNIX would find files that are readable without requiring execute permission, and would not find files that are executable without read permission. In CMake 3.19 and above, `find_program` now prefers to require execute permission but not read permission. This policy provides compatibility with projects that have not been updated to expect the new behavior.

The `OLD` behavior for this policy is for `find_program` to require read permission but not execute permission. The `NEW` behavior for this policy is for `find_program` to require execute permission but not read permission.

This policy was introduced in CMake version 3.19. CMake version 3.28.4 warns when the policy is not set and uses `OLD` behavior. Use the `cmake_policy()` command to set it to `OLD` or `NEW` explicitly.

Note

The `OLD` behavior of a policy is `deprecated by definition` and may be removed in a future version of CMake.