12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- # SPDX-License-Identifier: Apache-2.0
- # Parameter names identical to the execute_process() CMake command, and
- # "ARGS" for the process command-line arguments.
- # Use set(ARGS ...) to build the ARGS list and then quote the list
- # when invoking the COMMAND. Example:
- # set(ARGS a b c)
- # -DARGS="${ARGS}"
- if(NOT DEFINED COMMAND)
- message(FATAL_ERROR "No COMMAND argument supplied")
- endif()
- if(NOT DEFINED ARGS)
- set(ARGS )
- else()
- separate_arguments(ARGS)
- endif()
- if(DEFINED OUTPUT_FILE)
- set(OF OUTPUT_FILE ${OUTPUT_FILE})
- endif()
- if(DEFINED ERROR_FILE)
- set(EF ERROR_FILE ${ERROR_FILE})
- endif()
- if(DEFINED WORKING_DIRECTORY)
- set(WD WORKING_DIRECTORY ${WORKING_DIRECTORY})
- endif()
- execute_process(
- COMMAND ${COMMAND}
- ${ARGS}
- ${OF}
- ${EF}
- ${WD}
- RESULT_VARIABLE ret
- )
- if(NOT "${ret}" STREQUAL "0")
- message(FATAL_ERROR "Process failed: '${ret}'")
- endif()
|