if(NOT OUTPUT OR NOT COMPARE OR NOT COMMAND) message(FATAL_ERROR "Run and compare arguments missing") endif() if(INPUT) # Run command with stdin input and redirect stdout to output execute_process(COMMAND ${CMAKE_COMMAND} "-DCOMMAND=${COMMAND}" -DINPUT=${INPUT} -DOUTPUT=${OUTPUT} "-DSUCCESS_EXIT=${SUCCESS_EXIT}" -P ${CMAKE_CURRENT_SOURCE_DIR}/cmake/run-and-redirect.cmake) else() # Run command and redirect stdout to output execute_process(COMMAND ${CMAKE_COMMAND} "-DCOMMAND=${COMMAND}" -DOUTPUT=${OUTPUT} "-DSUCCESS_EXIT=${SUCCESS_EXIT}" -P ${CMAKE_CURRENT_SOURCE_DIR}/cmake/run-and-redirect.cmake) endif() # Compare that output is equal to specified file execute_process(COMMAND ${CMAKE_COMMAND} -E compare_files ${COMPARE} ${OUTPUT})