if(NOT COMMAND _original_find_program) # Save the original find_program as _original_find_program macro(_original_find_program) _find_program(${ARGV}) endmacro() # Now override find_program function(find_program) message("running find_program with CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH=ON, CMAKE_FIND_USE_CMAKE_SYSTEM_PATH=ON") set(CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH ON) set(CMAKE_FIND_USE_CMAKE_SYSTEM_PATH ON) cmake_parse_arguments(PARSE_ARGV 0 FWD "" "" "") set(quotedArgs "") foreach(arg IN LISTS FWD_UNPARSED_ARGUMENTS) string(APPEND quotedArgs " [===[${arg}]===]") endforeach() cmake_language(EVAL CODE "_find_program(${quotedArgs})") endfunction() endif()