mirror of
https://github.com/Rosalie241/RMG.git
synced 2026-07-11 01:24:01 +02:00
51 lines
1.0 KiB
Bash
Executable File
51 lines
1.0 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
#
|
|
# ./BundleDependencies.sh "./Bin/Release/RMG.exe" "./Bin/Release/"
|
|
#
|
|
set -e
|
|
|
|
exe="$1"
|
|
bin_dir="$2"
|
|
path="/$MSYSTEM/bin"
|
|
|
|
function copyForOBJ() {
|
|
local deps=`objdump.exe -p $1 | grep 'DLL Name:' | sed -e "s/\t*DLL Name: //g"`
|
|
while read -r line
|
|
do
|
|
findAndCopyDLL $line
|
|
done <<< "$deps"
|
|
}
|
|
|
|
function findAndCopyDLL() {
|
|
local file="$path/$1"
|
|
|
|
if [ -f $file ] && [ ! -f "$bin_dir/$1" ]
|
|
then
|
|
cp "$file" "$bin_dir"
|
|
copyForOBJ $file
|
|
return 0
|
|
fi
|
|
|
|
return 0
|
|
}
|
|
|
|
|
|
for file in "$bin_dir"/*.exe "$bin_dir/Core"/*.dll "$bin_dir/Plugin"/*/*.dll
|
|
do
|
|
echo "=> Copying dependencies for $file"
|
|
copyForOBJ "$file"
|
|
done
|
|
|
|
windeployqt6 --exclude-plugins qpdf,qwebp,qgif,qtga,qtuiotouchplugin,qglib,qtiff,qmng,qwbmp \
|
|
--no-translations "$exe"
|
|
|
|
# needed by Qt at runtime
|
|
cp "$path/libcrypto-3-x64.dll" "$bin_dir/"
|
|
cp "$path/libssl-3-x64.dll" "$bin_dir/"
|
|
cp "$path/libjpeg-8.dll" "$bin_dir/"
|
|
|
|
# remove *.a files
|
|
find "$bin_dir/" -name '*.a' -delete
|
|
|
|
exit 0
|