CMake find_program script
CMake
find_program
does not generally consider NAMES
parameter to have file suffixes unless manually specified.
A special case is Windows, where
.com and .exe
file suffixes are also considered.
If on Windows and an executable “hello.exe” or “hello.com” exists, then CMake will find it. CMake would NOT find “hello.exe” on non-Windows platforms, where no file suffix is expected.
NOTE: CMAKE_EXECUTABLE_SUFFIX ONLY affects find_program() in CMake role PROJECT
find_program(v NAMES hello)
Shell scripts of any file suffix on any operating system are found iff:
- script file executable flag is set (find_program general requirement)
- script file suffix is specified as part of NAMES parameter
A complete standalone example: