44 lines
877 B
CMake
44 lines
877 B
CMake
# 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()
|