early-access version 2853
This commit is contained in:
46
externals/vcpkg/scripts/cmake/vcpkg_execute_in_download_mode.cmake
vendored
Executable file
46
externals/vcpkg/scripts/cmake/vcpkg_execute_in_download_mode.cmake
vendored
Executable file
@@ -0,0 +1,46 @@
|
||||
function(vcpkg_execute_in_download_mode)
|
||||
# this allows us to grab the value of the output variables, but pass through the rest of the arguments
|
||||
cmake_parse_arguments(PARSE_ARGV 0 arg "" "RESULT_VARIABLE;RESULTS_VARIABLE;OUTPUT_VARIABLE;ERROR_VARIABLE" "")
|
||||
|
||||
set(output_and_error_same OFF)
|
||||
set(output_variable_param "")
|
||||
set(error_variable_param "")
|
||||
set(result_variable_param "")
|
||||
set(results_variable_param "")
|
||||
if(DEFINED arg_OUTPUT_VARIABLE AND DEFINED arg_ERROR_VARIABLE AND arg_OUTPUT_VARIABLE STREQUAL arg_ERROR_VARIABLE)
|
||||
set(output_variable_param OUTPUT_VARIABLE out_err_var)
|
||||
set(error_variable_param ERROR_VARIABLE out_err_var)
|
||||
set(output_and_error_same ON)
|
||||
else()
|
||||
if(DEFINED arg_OUTPUT_VARIABLE)
|
||||
set(output_variable_param OUTPUT_VARIABLE out_var)
|
||||
endif()
|
||||
if(DEFINED arg_ERROR_VARIABLE)
|
||||
set(error_variable_param ERROR_VARIABLE err_var)
|
||||
endif()
|
||||
endif()
|
||||
if(DEFINED arg_RESULT_VARIABLE)
|
||||
set(result_variable_param RESULT_VARIABLE result_var)
|
||||
endif()
|
||||
if(DEFINED arg_RESULTS_VARIABLE)
|
||||
set(results_variable_param RESULTS_VARIABLE results_var)
|
||||
endif()
|
||||
|
||||
cmake_language(CALL "${Z_VCPKG_EXECUTE_PROCESS_NAME}"
|
||||
${arg_UNPARSED_ARGUMENTS}
|
||||
${output_variable_param}
|
||||
${error_variable_param}
|
||||
${result_variable_param}
|
||||
${results_variable_param}
|
||||
)
|
||||
|
||||
if(output_and_error_same)
|
||||
z_vcpkg_forward_output_variable(arg_OUTPUT_VARIABLE out_err_var)
|
||||
else()
|
||||
z_vcpkg_forward_output_variable(arg_OUTPUT_VARIABLE out_var)
|
||||
z_vcpkg_forward_output_variable(arg_ERROR_VARIABLE err_var)
|
||||
endif()
|
||||
|
||||
z_vcpkg_forward_output_variable(arg_RESULT_VARIABLE result_var)
|
||||
z_vcpkg_forward_output_variable(arg_RESULTS_VARIABLE results_var)
|
||||
endfunction()
|
Reference in New Issue
Block a user