1#!/usr/bin/bash
2
3set -x
4set -e
5
6name=torrent-file-editor
7
8exclude="debug debug-qt4 debug-qt5 release release-qt4 release-qt5 linux linux-qt4 linux-qt5 CMakeLists.txt.user build-mxe-shared.sh build-mxe-static.sh"
9exclude=$(echo $exclude | sed  -r 's/[^ ]+/-e &/g')
10
11git clean -dfx . $exclude
12
13if [ -x "$(command -v i686-w64-mingw32.shared-qmake-qt4)" ]; then
14    mkdir mxe32-qt4-shared
15    pushd mxe32-qt4-shared
16    i686-w64-mingw32.shared-cmake -DCMAKE_BUILD_TYPE=Release ..
17    make -j5
18    version=$(cat version)
19    destdir=../${name}-${version}-mxe-qt4-shared-x32
20    mkdir $destdir
21    mv ${name}.exe $destdir
22    libdir=$(i686-w64-mingw32.shared-qmake-qt4 -query QT_INSTALL_BINS)
23    cp $libdir/QtCore4.dll $destdir
24    cp $libdir/QtGui4.dll $destdir
25    cp $libdir/../../bin/libgcc_s_sjlj-1.dll $destdir
26    cp $libdir/../../bin/libpng16-16.dll $destdir
27    cp $libdir/../../bin/libqjson.dll $destdir
28    cp $libdir/../../bin/libstdc++-6.dll $destdir
29    cp $libdir/../../bin/zlib1.dll $destdir
30    popd
31fi
32
33if [ -x "$(command -v i686-w64-mingw32.shared-qmake-qt5)" ]; then
34    mkdir mxe32-qt5-shared
35    pushd mxe32-qt5-shared
36    i686-w64-mingw32.shared-cmake -DCMAKE_BUILD_TYPE=Release -DQT5_BUILD=ON ..
37    make -j5
38    version=$(cat version)
39    destdir=../${name}-${version}-mxe-qt5-shared-x32
40    mkdir $destdir
41    mv ${name}.exe $destdir
42    libdir=$(i686-w64-mingw32.shared-qmake-qt5 -query QT_INSTALL_BINS)
43    cp $libdir/Qt5Core.dll $destdir
44    cp $libdir/Qt5Gui.dll $destdir
45    cp $libdir/Qt5Widgets.dll $destdir
46    cp $libdir/../../bin/libbz2.dll $destdir
47    cp $libdir/../../bin/libfreetype-6.dll $destdir
48    cp $libdir/../../bin/libgcc_s_sjlj-1.dll $destdir
49    cp $libdir/../../bin/libglib-2.0-0.dll $destdir
50    cp $libdir/../../bin/libharfbuzz-0.dll $destdir
51    cp $libdir/../../bin/libiconv-2.dll $destdir
52    cp $libdir/../../bin/libintl-8.dll $destdir
53    cp $libdir/../../bin/libpcre-1.dll $destdir
54    cp $libdir/../../bin/libpcre2-16-0.dll $destdir
55    cp $libdir/../../bin/libpng16-16.dll $destdir
56    cp $libdir/../../bin/libstdc++-6.dll $destdir
57    cp $libdir/../../bin/zlib1.dll $destdir
58    mkdir $destdir/platforms
59    cp $libdir/../plugins/platforms/qwindows.dll $destdir/platforms
60    mkdir $destdir/styles
61    cp $libdir/../plugins/styles/qwindowsvistastyle.dll $destdir/styles
62    popd
63fi
64
65if [ -x "$(command -v x86_64-w64-mingw32.shared-qmake-qt4)" ]; then
66    mkdir mxe64-qt4-shared
67    pushd mxe64-qt4-shared
68    x86_64-w64-mingw32.shared-cmake -DCMAKE_BUILD_TYPE=Release ..
69    make -j5
70    version=$(cat version)
71    destdir=../${name}-${version}-mxe-qt4-shared-x64
72    mkdir $destdir
73    mv ${name}.exe $destdir
74    libdir=$(x86_64-w64-mingw32.shared-qmake-qt4 -query QT_INSTALL_BINS)
75    cp $libdir/QtCore4.dll $destdir
76    cp $libdir/QtGui4.dll $destdir
77    cp $libdir/../../bin/libgcc_s_seh-1.dll $destdir
78    cp $libdir/../../bin/libpng16-16.dll $destdir
79    cp $libdir/../../bin/libqjson.dll $destdir
80    cp $libdir/../../bin/libstdc++-6.dll $destdir
81    cp $libdir/../../bin/zlib1.dll $destdir
82    popd
83fi
84
85if [ -x "$(command -v x86_64-w64-mingw32.shared-qmake-qt5)" ]; then
86    mkdir mxe64-qt5-shared
87    pushd mxe64-qt5-shared
88    x86_64-w64-mingw32.shared-cmake -DCMAKE_BUILD_TYPE=Release -DQT5_BUILD=ON ..
89    make -j5
90    version=$(cat version)
91    destdir=../${name}-${version}-mxe-qt5-shared-x64
92    mkdir $destdir
93    mv ${name}.exe $destdir
94    libdir=$(x86_64-w64-mingw32.shared-qmake-qt5 -query QT_INSTALL_BINS)
95    cp $libdir/Qt5Core.dll $destdir
96    cp $libdir/Qt5Gui.dll $destdir
97    cp $libdir/Qt5Widgets.dll $destdir
98    cp $libdir/../../bin/libbz2.dll $destdir
99    cp $libdir/../../bin/libfreetype-6.dll $destdir
100    cp $libdir/../../bin/libgcc_s_seh-1.dll $destdir
101    cp $libdir/../../bin/libglib-2.0-0.dll $destdir
102    cp $libdir/../../bin/libharfbuzz-0.dll $destdir
103    cp $libdir/../../bin/libiconv-2.dll $destdir
104    cp $libdir/../../bin/libintl-8.dll $destdir
105    cp $libdir/../../bin/libpcre-1.dll $destdir
106    cp $libdir/../../bin/libpcre2-16-0.dll $destdir
107    cp $libdir/../../bin/libpng16-16.dll $destdir
108    cp $libdir/../../bin/libstdc++-6.dll $destdir
109    cp $libdir/../../bin/zlib1.dll $destdir
110    mkdir $destdir/platforms
111    cp $libdir/../plugins/platforms/qwindows.dll $destdir/platforms
112    mkdir $destdir/styles
113    cp $libdir/../plugins/styles/qwindowsvistastyle.dll $destdir/styles
114    popd
115fi
116