40 lines
898 B
Bash
Executable file
40 lines
898 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" | sort | 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/qml" >/dev/null
|
|
generate_qrc "../img" "images.qrc" "*.svg"
|
|
generate_qrc "../qml" "qml.qrc" "*.qml"
|
|
popd >/dev/null
|