execute_process(COMMAND "${CC}" "-C" "-P" "-x" "c" "-E" "-I" "${CONFIG_DIR}" "-I" "${LD_DIR}" "${SOURCE}" RESULT_VARIABLE RET_CODE OUTPUT_VARIABLE PREPROCESSED_LINKER_SCRIPT ERROR_VARIABLE ERROR_VAR) if(RET_CODE AND NOT RET_CODE EQUAL 0) message(FATAL_ERROR "Can't generate ${TARGET}\nRET_CODE: ${RET_CODE}\nERROR_MESSAGE: ${ERROR_VAR}") endif() string(REPLACE "\\n" "\n" TEXT "${PREPROCESSED_LINKER_SCRIPT}") file(WRITE "${TARGET}" "${TEXT}")