Try to force find_program to still be able to use the env path
This commit is contained in:
21
cmake/functions/OverrideFindProgram.cmake
Normal file
21
cmake/functions/OverrideFindProgram.cmake
Normal file
@@ -0,0 +1,21 @@
|
||||
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()
|
||||
Reference in New Issue
Block a user