vcpkg/scripts/cmake/vcpkg_execute_in_download_mode.cmake
Robert Schumacher 7d2449c346
[docs] Delete embedded documentation in favor of docs/ (#25096)
* [docs] Delete embedded documentation in favor of docs/

Drive-by for the helper ports:
1. "documentation": "https://vcpkg.io/en/docs/README.html"
2. "license": "MIT"
3. Use `include_guard(GLOBAL)` in all script files
4. Make sure any persistent variables are saved to the cache

* [docs] Restore empty regenerate.ps1 to satisfy Azure Pipelines

* [docs] PR comments
2022-06-07 16:26:51 -07:00

47 lines
1.8 KiB
CMake

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()