21 lines
731 B
CMake
21 lines
731 B
CMake
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)
|
|
set(_saved_CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH ${CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH})
|
|
set(CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_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})")
|
|
|
|
set(CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH ${_saved_CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH})
|
|
endfunction()
|
|
endif() |