Commit e8f9e4f3 authored by Martin Höher's avatar Martin Höher

Switch to using Fedora MinGW packages

To build for Windows, we now use Fedora MinGW packages. They have the
added benefit of allowing to use prebuild Qt libraries and they are
configured for ANGLE, allowing the app to run smoothly also within
Windows VMs without proper OpenGL support.
parent fa5a8814
Pipeline #42042937 failed with stages
in 11 minutes and 42 seconds
......@@ -394,12 +394,14 @@
<context>
<name>LogViewPage</name>
<message>
<location filename="../Pages/LogViewPage.qml" line="12"/>
<source>Synchronization Log</source>
<translation type="vanished">Synchronisationsereignisse</translation>
<translation>Synchronisationsereignisse</translation>
</message>
<message>
<location filename="../Pages/LogViewPage.qml" line="20"/>
<source>Copy Log</source>
<translation type="vanished">Protokoll kopieren</translation>
<translation>Protokoll kopieren</translation>
</message>
</context>
<context>
......
......@@ -328,6 +328,19 @@
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>LogViewPage</name>
<message>
<location filename="../Pages/LogViewPage.qml" line="12"/>
<source>Synchronization Log</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../Pages/LogViewPage.qml" line="20"/>
<source>Copy Log</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>MainWindow</name>
<message>
......
FROM debian
# Note: If build fails, check out this issue:
# https://github.com/mxe/mxe/issues/2011
FROM fedora:rawhide
RUN \
\
apt-get update && \
apt-get install -y \
autoconf automake autopoint bash bison bzip2 flex gettext \
git g++ gperf intltool libffi-dev libgdk-pixbuf2.0-dev \
libtool-bin libltdl-dev libssl-dev libxml-parser-perl make \
openssl p7zip-full patch perl pkg-config python ruby scons \
sed unzip wget xz-utils nsis python3 && \
\
cd opt && \
mkdir mxe-i686-shared && \
cd mxe-i686-shared && \
git clone https://github.com/mxe/mxe.git . && \
make MXE_TARGETS='i686-w64-mingw32.shared' \
JOBS=4 \
qt5
dnf install -y --nogpgcheck \
cmake \
ninja-build \
python3 \
python \
git \
wget \
mingw32-qt5-qmake \
mingw32-qt5-qmldevtools \
mingw32-qt5-qmldevtools-devel \
mingw32-qt5-qt3d \
mingw32-qt5-qt3d-tools \
mingw32-qt5-qtactiveqt \
mingw32-qt5-qtbase \
mingw32-qt5-qtbase-devel \
mingw32-qt5-qtcharts \
mingw32-qt5-qtdeclarative \
mingw32-qt5-qtgraphicaleffects \
mingw32-qt5-qtimageformats \
mingw32-qt5-qtlocation \
mingw32-qt5-qtmultimedia \
mingw32-qt5-qtquickcontrols \
mingw32-qt5-qtsensors \
mingw32-qt5-qtserialport \
mingw32-qt5-qtsvg \
mingw32-qt5-qttools \
mingw32-qt5-qttools-tools \
mingw32-qt5-qttranslations \
mingw32-qt5-qtwebkit \
mingw32-qt5-qtwebsockets \
mingw32-qt5-qtwinextras \
mingw32-qt5-qtxmlpatterns \
mingw32-nsis \
mingw32-nsiswrapper \
\
&& \
cd / && \
git clone https://github.com/qt/qtquickcontrols2.git && \
cd qtquickcontrols2 && \
git checkout v$(mingw32-qmake-qt5 -query QT_VERSION) && \
mingw32-qmake-qt5 && \
make -j4 && \
make install && \
cd .. && \
rm -rf qtquickcontrols2
FROM debian
# Note: If build fails, check out this issue:
# https://github.com/mxe/mxe/issues/2011
FROM fedora:rawhide
RUN \
\
apt-get update && \
apt-get install -y \
autoconf automake autopoint bash bison bzip2 flex gettext \
git g++ gperf intltool libffi-dev libgdk-pixbuf2.0-dev \
libtool-bin libltdl-dev libssl-dev libxml-parser-perl make \
openssl p7zip-full patch perl pkg-config python ruby scons \
sed unzip wget xz-utils nsis python3 && \
\
cd opt && \
mkdir mxe-x64-shared && \
cd mxe-x64-shared && \
git clone https://github.com/mxe/mxe.git . && \
make MXE_TARGETS='x86_64-w64-mingw32.shared' \
JOBS=4 \
qt5
dnf install -y --nogpgcheck \
cmake \
ninja-build \
python3 \
python \
git \
wget \
mingw64-qt5-qmake \
mingw64-qt5-qmldevtools \
mingw64-qt5-qmldevtools-devel \
mingw64-qt5-qt3d \
mingw64-qt5-qt3d-tools \
mingw64-qt5-qtactiveqt \
mingw64-qt5-qtbase \
mingw64-qt5-qtbase-devel \
mingw64-qt5-qtcharts \
mingw64-qt5-qtdeclarative \
mingw64-qt5-qtgraphicaleffects \
mingw64-qt5-qtimageformats \
mingw64-qt5-qtlocation \
mingw64-qt5-qtmultimedia \
mingw64-qt5-qtquickcontrols \
mingw64-qt5-qtsensors \
mingw64-qt5-qtserialport \
mingw64-qt5-qtsvg \
mingw64-qt5-qttools \
mingw64-qt5-qttools-tools \
mingw64-qt5-qttranslations \
mingw64-qt5-qtwebkit \
mingw64-qt5-qtwebsockets \
mingw64-qt5-qtwinextras \
mingw64-qt5-qtxmlpatterns \
mingw32-nsis \
mingw32-nsiswrapper \
\
&& \
cd / && \
git clone https://github.com/qt/qtquickcontrols2.git && \
cd qtquickcontrols2 && \
git checkout v$(mingw64-qmake-qt5 -query QT_VERSION) && \
mingw64-qmake-qt5 && \
make -j4 && \
make install && \
cd .. && \
rm -rf qtquickcontrols2
......@@ -2,34 +2,43 @@
set -e
export PATH=/opt/mxe-i686-shared/usr/bin:$PATH
export PATH=/opt/mxe-i686-shared/usr/i686-w64-mingw32.shared/qt5/bin:$PATH
mkdir -p build-win32
cd build-win32
i686-w64-mingw32.shared-cmake \
mingw32-cmake \
-GNinja \
-DCMAKE_BUILD_TYPE=Release \
-DOPENTODOLIST_WITH_UPDATE_SERVICE=ON \
-DUSE_CREDENTIAL_STORE=ON \
-DQTKEYCHAIN_STATIC=ON \
..
i686-w64-mingw32.shared-cmake --build . -- opentodolist-translations
i686-w64-mingw32.shared-cmake --build . --target all -- -j4
cmake --build . -- opentodolist-translations
cmake --build . --target all
cd ..
mkdir -p deploy-win32/bin
cp build-win32/app/OpenTodoList.exe deploy-win32/bin/
cp build-win32/3rdparty/qlmdb/qlmdb/libqlmdb.dll deploy-win32/bin/
cp \
build-win32/app/OpenTodoList.exe \
build-win32/3rdparty/qlmdb/qlmdb/libqlmdb.dll \
/usr/i686-w64-mingw32/sys-root/mingw/bin/libcrypto-1_1.dll \
/usr/i686-w64-mingw32/sys-root/mingw/bin/libssl-1_1.dll \
/usr/i686-w64-mingw32/sys-root/mingw/bin/libEGL.dll \
/usr/i686-w64-mingw32/sys-root/mingw/bin/libGLESv2.dll \
\
deploy-win32/bin/
wget https://gitlab.com/rpdev/xwindeployqt/raw/master/xwindeployqt
chmod +x xwindeployqt
./xwindeployqt --toolchain-root /opt/mxe-i686-shared/ \
--toolchain-arch i686-w64-mingw32.shared \
--qml-dir ./app \
--plugins bearer \
./xwindeployqt \
--driver fedora-mingw \
--qml-dir app \
--plugins platforms \
--plugins imageformats \
--plugins sqldrivers \
--plugins bearer \
--mingw-arch i686-w64-mingw32 \
deploy-win32/bin/
cp templates/nsis/win32-installer.nsis deploy-win32/
......
......@@ -2,34 +2,43 @@
set -e
export PATH=/opt/mxe-x64-shared/usr/bin:$PATH
export PATH=/opt/mxe-x64-shared/usr/x86_64-w64-mingw32.shared/qt5/bin:$PATH
mkdir -p build-win64
cd build-win64
x86_64-w64-mingw32.shared-cmake \
mingw64-cmake \
-GNinja \
-DCMAKE_BUILD_TYPE=Release \
-DOPENTODOLIST_WITH_UPDATE_SERVICE=ON \
-DUSE_CREDENTIAL_STORE=ON \
-DQTKEYCHAIN_STATIC=ON \
..
x86_64-w64-mingw32.shared-cmake --build . -- opentodolist-translations
x86_64-w64-mingw32.shared-cmake --build . --target all -- -j4
cmake --build . -- opentodolist-translations
cmake --build . --target all
cd ..
mkdir -p deploy-win64/bin
cp build-win64/app/OpenTodoList.exe deploy-win64/bin/
cp build-win64/3rdparty/qlmdb/qlmdb/libqlmdb.dll deploy-win64/bin/
cp \
build-win64/app/OpenTodoList.exe \
build-win64/3rdparty/qlmdb/qlmdb/libqlmdb.dll \
/usr/x86_64-w64-mingw32/sys-root/mingw/bin/libcrypto-1_1-x64.dll \
/usr/x86_64-w64-mingw32/sys-root/mingw/bin/libssl-1_1-x64.dll \
/usr/x86_64-w64-mingw32/sys-root/mingw/bin/libEGL.dll \
/usr/x86_64-w64-mingw32/sys-root/mingw/bin/libGLESv2.dll \
\
deploy-win64/bin/
wget https://gitlab.com/rpdev/xwindeployqt/raw/master/xwindeployqt
chmod +x xwindeployqt
./xwindeployqt --toolchain-root /opt/mxe-x64-shared/ \
--toolchain-arch x86_64-w64-mingw32.shared \
--qml-dir ./app \
--plugins bearer \
./xwindeployqt \
--driver fedora-mingw \
--qml-dir app \
--plugins platforms \
--plugins imageformats \
--plugins sqldrivers \
--plugins bearer \
--mingw-arch x86_64-w64-mingw32 \
deploy-win64/bin/
cp templates/nsis/win64-installer.nsis deploy-win64/
......
......@@ -53,13 +53,18 @@ void ItemsQueryRunnable::run()
m_query->finish();
}
/**
* @brief Constructor.
*/
Cache::Cache(QObject *parent) : QObject(parent),
m_cacheDirectory(),
m_cacheSize(3U * 1024U * 1024U * 1024U),
m_cacheSize(
#if QT_POINTER_SIZE == 4
1U * 1024U * 1024U * 1024U
#else
3U * 1024U * 1024U * 1024U
#endif
),
m_context(nullptr),
m_global(),
m_items(),
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment