Travis: also build an MXE/Windows installer

In the process, simplify our dependency a bit by no longer building
against libssh2 (we don't support ssh based authentication for git
on Windows) and libcurl (since it's proxy implementation doesn't appear
to actually work on Windows, anyway).

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Dirk Hohndel 2017-11-11 09:38:41 -08:00
parent a157fa5c67
commit 4d04f74312
5 changed files with 118 additions and 61 deletions

View file

@ -41,8 +41,6 @@
#
# ~/src/mxe <- MXE git with Qt5, automake (see above)
# /grantlee <- Grantlee 5.0.0 sources from git
# /libssh2 <- from git - v1.6 seems to work
# /libcurl <- from git - 7.42.1 seems to work - rename folder!
# /subsurface <- current subsurface git
# /libdivecomputer <- appropriate libdc/Subsurface-branch branch
# /libgit2 <- libgit2 0.23.1 or similar
@ -132,7 +130,7 @@ if [[ ! -d grantlee || -f build.grantlee ]] ; then
rm -f build.grantlee
mkdir -p grantlee
cd grantlee
i686-w64-mingw32.shared-cmake -DCMAKE_TOOLCHAIN_FILE="$BASEDIR"/"$MXEDIR"/usr/i686-w64-mingw32.shared/share/cmake/mxe-conf.cmake \
i686-w64-mingw32.shared-cmake \
-DCMAKE_BUILD_TYPE=$RELEASE \
-DBUILD_TESTS=OFF \
"$BASEDIR"/grantlee
@ -141,61 +139,6 @@ if [[ ! -d grantlee || -f build.grantlee ]] ; then
make install
fi
# libssh2:
cd "$BUILDDIR"
if [[ ! -d libssh2 || -f build.libssh2 ]] ; then
rm -f build.libssh2
mkdir -p libssh2
cd libssh2
i686-w64-mingw32.shared-cmake -DCMAKE_TOOLCHAIN_FILE="$BASEDIR"/"$MXEDIR"/usr/i686-w64-mingw32.shared/share/cmake/mxe-conf.cmake \
-DCMAKE_BUILD_TYPE=$RELEASE \
-DBUILD_EXAMPLES=OFF \
-DBUILD_TESTING=OFF \
-DBUILD_SHARED_LIBS=ON \
"$BASEDIR"/libssh2
make $JOBS
make install
# don't install your dlls in bin, please
cp "$BASEDIR"/"$MXEDIR"/usr/i686-w64-mingw32.shared/bin/libssh2.dll "$BASEDIR"/"$MXEDIR"/usr/i686-w64-mingw32.shared/lib
fi
# libcurl
cd "$BUILDDIR"
if [[ ! -d libcurl || -f build.libcurl ]] ; then
rm -f build.libcurl
mkdir -p libcurl
cd libcurl
../../libcurl/configure --host=i686-w64-mingw32.shared \
--prefix="$BASEDIR"/"$MXEDIR"/usr/i686-w64-mingw32.shared/ \
--disable-ftp \
--disable-ldap \
--disable-ldaps \
--disable-rtsp \
--enable-proxy \
--enable-dict \
--disable-telnet \
--disable-tftp \
--disable-pop3 \
--disable-imap \
--disable-smb \
--disable-smtp \
--disable-gopher \
--disable-manual \
--with-libssh2="$BASEDIR"/"$MXEDIR"/usr/i686-w64-mingw32.shared/
# now remove building the executable
sed -i 's/SUBDIRS = lib src include/SUBDIRS = lib include/' Makefile
make $JOBS
make install
fi
# libgit2:
cd "$BUILDDIR"
@ -203,7 +146,7 @@ if [[ ! -d libgit2 || -f build.libgit2 ]] ; then
rm -f build.libgit2
mkdir -p libgit2
cd libgit2
i686-w64-mingw32.shared-cmake -DCMAKE_TOOLCHAIN_FILE="$BASEDIR"/"$MXEDIR"/usr/i686-w64-mingw32.shared/share/cmake/mxe-conf.cmake \
i686-w64-mingw32.shared-cmake \
-DBUILD_CLAR=OFF -DTHREADSAFE=ON \
-DCMAKE_BUILD_TYPE=$RELEASE \
-DDLLTOOL="$BASEDIR"/"$MXEDIR"/usr/bin/i686-w64-mingw32.shared-dlltool \
@ -228,7 +171,9 @@ if [[ ! -d libdivecomputer || -f build.libdivecomputer ]] ; then
mkdir -p libdivecomputer
cd libdivecomputer
"$BASEDIR"/libdivecomputer/configure --host=i686-w64-mingw32.shared \
"$BASEDIR"/libdivecomputer/configure \
CC=i686-w64-mingw32.shared-gcc \
--host=i686-w64-mingw32.shared \
--enable-shared \
--prefix="$BASEDIR"/"$MXEDIR"/usr/i686-w64-mingw32.shared
make $JOBS
@ -323,7 +268,7 @@ done
cd "$BUILDDIR"/subsurface
i686-w64-mingw32.shared-cmake -DCMAKE_TOOLCHAIN_FILE="$BASEDIR"/"$MXEDIR"/usr/i686-w64-mingw32.shared/share/cmake/mxe-conf.cmake \
i686-w64-mingw32.shared-cmake \
-DCMAKE_PREFIX_PATH="$BASEDIR"/"$MXEDIR"/usr/i686-w64-mingw32.shared/qt5 \
-DCMAKE_BUILD_TYPE=$RELEASE \
-DQT_TRANSLATION_DIR="$BASEDIR"/"$MXEDIR"/usr/i686-w64-mingw32.shared/qt5/translations \