#!/bin/bash # # JoeyDev # Copyright (C) 2018-2023 Scott Duensing # # This software is provided 'as-is', without any express or implied # warranty. In no event will the authors be held liable for any damages # arising from the use of this software. # # Permission is granted to anyone to use this software for any purpose, # including commercial applications, and to alter it and redistribute it # freely, subject to the following restrictions: # # 1. The origin of this software must not be misrepresented; you must not # claim that you wrote the original software. If you use this software # in a product, an acknowledgment in the product documentation would be # appreciated but is not required. # 2. Altered source versions must be plainly marked as such, and must not be # misrepresented as being the original software. # 3. This notice may not be removed or altered from any source distribution. # ROOT=$1 pushd "${ROOT}" || exit &> /dev/null echo Generating UI Embedded Code... mkdir -p ui/generated :<<'SKIP' glib-compile-resources \ --sourcedir=ui/ \ --target=ui/generated/resources \ --generate \ ui/joeydev.gresource.xml glib-compile-resources \ --sourcedir=ui/ \ --target=ui/generated/resources.h \ --generate-header \ ui/joeydev.gresource.xml SKIP glib-compile-resources \ --sourcedir=ui/ \ --target=ui/generated/resources.c \ --generate-source \ ui/joeydev.gresource.xml popd || true &> /dev/null :<<'OLD' pushd "${ROOT}/tools" || exit &> /dev/null echo Generating UI Headers... rm -f ../ui/generated/*.h &> /dev/null || true # We do this from the tools folder so the variable names get "__ui_" prepended to them. for E in glade png; do for F in ../ui/*."${E}"; do I="${F}" # Input File. R="${E}" # What extension to remove. GUARD="${E^^}"_$(basename -s ."${R}" "${I}")_H GUARD=${GUARD^^} HEADER=../ui/generated/"${E}"$(basename -s ."${R}" "${I}").h echo " ${HEADER}" echo "#ifndef ${GUARD}" > "${HEADER}" # shellcheck disable=SC2129 echo "#define ${GUARD}" >> "${HEADER}" xxd -i "${I}" - >> "${HEADER}" echo "#endif // ${GUARD}" >> "${HEADER}" sed -i 's/unsigned char/char/' "${HEADER}" done done popd || true &> /dev/null OLD