diff --git a/cmd/miqt-rcc/miqt-rcc.sh b/cmd/miqt-rcc/miqt-rcc.sh new file mode 100755 index 0000000..835da8b --- /dev/null +++ b/cmd/miqt-rcc/miqt-rcc.sh @@ -0,0 +1,53 @@ +#!/bin/bash +# +# miqt-rcc compiles a Qt resource XML file (*.qrc) to a binary resource file and +# creates a Go stub to load it. + +set -eu + +main() { + + if [[ $# -lt 1 ]] ; then + echo "Usage: miqt-rcc.sh input.qrc [output.rcc] [output.go] [packageName] [variableName]" >&2 + exit 1 + fi + local ARG_INPUT_QRC="$1" + local ARG_DEST_RCC="${2:-$(basename -s .qrc "$ARG_INPUT_QRC").rcc}" + local ARG_DEST_GO="${3:-$(basename -s .rcc "$ARG_DEST_RCC").go}" + local ARG_PACKAGENAME="${4:-main}" + local ARG_VARIABLENAME="${4:-_resourceRcc}" + + if [[ ! -f ${ARG_INPUT_QRC} ]] ; then + echo "Input file ${ARG_INPUT_QRC} not found" >&2 + exit 1 + fi + + # Compile qrc to binary resource file + rcc --binary -o "${ARG_DEST_RCC}" "$ARG_INPUT_QRC" + + # Create Go file that loads the resource + cat > "${ARG_DEST_GO}" <