47 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
		
		
			
		
	
	
			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()
 |