annotate scripts/win32/deploy_build.sh @ 359:4e0e17d3c67a

CI/linux: ignore linuxdeployqt silently failing
author Paper <paper@paper.us.eu.org>
date Mon, 15 Jul 2024 01:06:39 -0400
parents 1faa72660932
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
296
b2a4358da16c scripts/win32: CRLF -> LF
Paper <paper@paper.us.eu.org>
parents: 257
diff changeset
1 #!/bin/sh
b2a4358da16c scripts/win32: CRLF -> LF
Paper <paper@paper.us.eu.org>
parents: 257
diff changeset
2 #
b2a4358da16c scripts/win32: CRLF -> LF
Paper <paper@paper.us.eu.org>
parents: 257
diff changeset
3 # deploys needed libraries for minori on win32
b2a4358da16c scripts/win32: CRLF -> LF
Paper <paper@paper.us.eu.org>
parents: 257
diff changeset
4 #
b2a4358da16c scripts/win32: CRLF -> LF
Paper <paper@paper.us.eu.org>
parents: 257
diff changeset
5 # this also runs windeployqt to deploy qt crap
b2a4358da16c scripts/win32: CRLF -> LF
Paper <paper@paper.us.eu.org>
parents: 257
diff changeset
6 # as well
300
8eb0cfe59992 CI/windows: attempt to fix the build
Paper <paper@paper.us.eu.org>
parents: 298
diff changeset
7 #
8eb0cfe59992 CI/windows: attempt to fix the build
Paper <paper@paper.us.eu.org>
parents: 298
diff changeset
8 # note: ldd is NOT a standard ldd; it's mingw-ldd
8eb0cfe59992 CI/windows: attempt to fix the build
Paper <paper@paper.us.eu.org>
parents: 298
diff changeset
9 # from pypi which works much well when cross
8eb0cfe59992 CI/windows: attempt to fix the build
Paper <paper@paper.us.eu.org>
parents: 298
diff changeset
10 # compiling using something like quasi-msys2
296
b2a4358da16c scripts/win32: CRLF -> LF
Paper <paper@paper.us.eu.org>
parents: 257
diff changeset
11
300
8eb0cfe59992 CI/windows: attempt to fix the build
Paper <paper@paper.us.eu.org>
parents: 298
diff changeset
12 # you can override the paths to these at runtime
296
b2a4358da16c scripts/win32: CRLF -> LF
Paper <paper@paper.us.eu.org>
parents: 257
diff changeset
13 DIR="${DIR:-minori}"
300
8eb0cfe59992 CI/windows: attempt to fix the build
Paper <paper@paper.us.eu.org>
parents: 298
diff changeset
14 LDD="${LDD:-mingw-ldd}"
296
b2a4358da16c scripts/win32: CRLF -> LF
Paper <paper@paper.us.eu.org>
parents: 257
diff changeset
15
b2a4358da16c scripts/win32: CRLF -> LF
Paper <paper@paper.us.eu.org>
parents: 257
diff changeset
16 GetNeededLibraries() {
b2a4358da16c scripts/win32: CRLF -> LF
Paper <paper@paper.us.eu.org>
parents: 257
diff changeset
17 # do not run this on untrusted executables.
b2a4358da16c scripts/win32: CRLF -> LF
Paper <paper@paper.us.eu.org>
parents: 257
diff changeset
18 # see: ldd(1)
b2a4358da16c scripts/win32: CRLF -> LF
Paper <paper@paper.us.eu.org>
parents: 257
diff changeset
19 system="$(echo "$MSYSTEM" | tr "[:upper:]" "[:lower:]")"
343
1faa72660932 *: transfer back to cmake from autotools
Paper <paper@paper.us.eu.org>
parents: 300
diff changeset
20 "$LDD" --output-format ldd-like --dll-lookup-dirs "/$system/bin" "$PWD" -- "$1" | while IFS="" read -r dependency; do
300
8eb0cfe59992 CI/windows: attempt to fix the build
Paper <paper@paper.us.eu.org>
parents: 298
diff changeset
21 # trim whitespace, then get the value; mingw-ldd's "ldd-like" output doesn't use tabs like regular ldd
8eb0cfe59992 CI/windows: attempt to fix the build
Paper <paper@paper.us.eu.org>
parents: 298
diff changeset
22 lib="$(printf -- "%s" "$dependency" | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//' | cut -d' ' -f3)"
343
1faa72660932 *: transfer back to cmake from autotools
Paper <paper@paper.us.eu.org>
parents: 300
diff changeset
23 if test "x$lib" != "xnot"; then
1faa72660932 *: transfer back to cmake from autotools
Paper <paper@paper.us.eu.org>
parents: 300
diff changeset
24 printf -- "$lib\n"
1faa72660932 *: transfer back to cmake from autotools
Paper <paper@paper.us.eu.org>
parents: 300
diff changeset
25 fi
296
b2a4358da16c scripts/win32: CRLF -> LF
Paper <paper@paper.us.eu.org>
parents: 257
diff changeset
26 done
b2a4358da16c scripts/win32: CRLF -> LF
Paper <paper@paper.us.eu.org>
parents: 257
diff changeset
27 }
b2a4358da16c scripts/win32: CRLF -> LF
Paper <paper@paper.us.eu.org>
parents: 257
diff changeset
28
b2a4358da16c scripts/win32: CRLF -> LF
Paper <paper@paper.us.eu.org>
parents: 257
diff changeset
29
300
8eb0cfe59992 CI/windows: attempt to fix the build
Paper <paper@paper.us.eu.org>
parents: 298
diff changeset
30 if test -d "$DIR"; then
296
b2a4358da16c scripts/win32: CRLF -> LF
Paper <paper@paper.us.eu.org>
parents: 257
diff changeset
31 rm -r "$DIR"
b2a4358da16c scripts/win32: CRLF -> LF
Paper <paper@paper.us.eu.org>
parents: 257
diff changeset
32 fi
b2a4358da16c scripts/win32: CRLF -> LF
Paper <paper@paper.us.eu.org>
parents: 257
diff changeset
33
b2a4358da16c scripts/win32: CRLF -> LF
Paper <paper@paper.us.eu.org>
parents: 257
diff changeset
34 mkdir "$DIR"
b2a4358da16c scripts/win32: CRLF -> LF
Paper <paper@paper.us.eu.org>
parents: 257
diff changeset
35
343
1faa72660932 *: transfer back to cmake from autotools
Paper <paper@paper.us.eu.org>
parents: 300
diff changeset
36 for lib in $(GetNeededLibraries "minori.exe"); do
298
dec4d3c9a909 scripts/win32/deploy_build: be more verbose with libs
Paper <paper@paper.us.eu.org>
parents: 296
diff changeset
37 echo "copying '$lib' to $DIR"
296
b2a4358da16c scripts/win32: CRLF -> LF
Paper <paper@paper.us.eu.org>
parents: 257
diff changeset
38 cp "$lib" "$DIR/"
b2a4358da16c scripts/win32: CRLF -> LF
Paper <paper@paper.us.eu.org>
parents: 257
diff changeset
39 done
b2a4358da16c scripts/win32: CRLF -> LF
Paper <paper@paper.us.eu.org>
parents: 257
diff changeset
40
343
1faa72660932 *: transfer back to cmake from autotools
Paper <paper@paper.us.eu.org>
parents: 300
diff changeset
41 cp "minori.exe" "$DIR/"
296
b2a4358da16c scripts/win32: CRLF -> LF
Paper <paper@paper.us.eu.org>
parents: 257
diff changeset
42
b2a4358da16c scripts/win32: CRLF -> LF
Paper <paper@paper.us.eu.org>
parents: 257
diff changeset
43 windeployqt "$DIR/minori.exe"
b2a4358da16c scripts/win32: CRLF -> LF
Paper <paper@paper.us.eu.org>
parents: 257
diff changeset
44
b2a4358da16c scripts/win32: CRLF -> LF
Paper <paper@paper.us.eu.org>
parents: 257
diff changeset
45 zip -r "$DIR.zip" "$DIR"