solitare/generate_qrc.sh

39 lines
844 B
Bash
Executable file

#!/bin/bash
set -euo pipefail
CUR_DIR="$(dirname "$0")"
# Function to generate a .qrc file for a given directory and file extension
generate_qrc() {
local dir=$1
local qrc_file=$2
local pattern=$3
# Start the QRC file
cat <<EOF >"$qrc_file"
<!DOCTYPE RCC>
<RCC version="1.0">
<qresource>
EOF
# Find all files with the given extension in the directory and add them to the QRC file
find "$dir" -type f -name "$pattern" | while IFS= read -r file; do
printf " <file>%s</file>\n" "$file" >>"$qrc_file"
done
# End the QRC file
cat <<EOF >>"$qrc_file"
</qresource>
</RCC>
EOF
# Split this to avoid vim interpreting this file as xml
echo -n "<!-- vi" >>"$qrc_file"
echo ": ft=xml" >>"$qrc_file"
echo "-->" >>"$qrc_file"
}
pushd "$CUR_DIR" >/dev/null
generate_qrc "img" "images.qrc" "*.svg"
popd >/dev/null