# Tuxanci 2 - A first person shooter # Copyright (C) 2007-2011 Tuxánci Development Team # Copyright (C) 2025-2026 Connor Thomson # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . foreach(_required IN_FILE OUT_C SYMBASE XXD_EXE) if(NOT DEFINED ${_required}) message(FATAL_ERROR "EmbedFile.cmake: missing required -D ${_required}") endif() endforeach() execute_process( COMMAND "${XXD_EXE}" -i -n "${SYMBASE}" "${IN_FILE}" OUTPUT_VARIABLE _xxd_output RESULT_VARIABLE _xxd_result ERROR_VARIABLE _xxd_error ) if(NOT _xxd_result EQUAL 0) message(FATAL_ERROR "xxd failed embedding ${IN_FILE}: ${_xxd_error}") endif() file(WRITE "${OUT_C}" "${_xxd_output}\n") file(APPEND "${OUT_C}" "\nunsigned int ${SYMBASE}_size = sizeof(${SYMBASE});\n") file(APPEND "${OUT_C}" "unsigned char *${SYMBASE}_start = ${SYMBASE};\n") file(APPEND "${OUT_C}" "unsigned char *${SYMBASE}_end = ${SYMBASE} + sizeof(${SYMBASE});\n")