diff --git a/.gitignore b/.gitignore index 5eee72ab1..17ec19f15 100644 --- a/.gitignore +++ b/.gitignore @@ -39,4 +39,3 @@ packaging/ios/install-root packaging/ios/Info.plist packaging/ios/Qt appdata/subsurface.appdata.xml -.vscode diff --git a/packaging/windows/mxe-based-build.sh b/packaging/windows/mxe-based-build.sh index 494d95d20..b5e99926c 100755 --- a/packaging/windows/mxe-based-build.sh +++ b/packaging/windows/mxe-based-build.sh @@ -20,15 +20,14 @@ # MXE_TARGETS := i686-w64-mingw32.shared.posix.dw2 # # # Uncomment the next line if you want to do debug builds later -# # note this currently doesn't build on mxe version @180304a # # qtbase_CONFIGURE_OPTS=-debug-and-release #--- # (documenting this in comments is hard... you need to remove # the first '#' of course) # # now you can start the build -# look at the setting.mk ffrom scripts/docker/mxe-build-container/settings.mk -# make libxml2 libxslt libusb1 libzip libssh2 libftdi1 curl qt5 nsis libgit2 qtwebkit hidapi +# +# make libxml2 libxslt libusb1 libzip libssh2 libftdi1 curl qt5 nsis # # (if you intend to build Subsurface without user space FTDI support # you can drop libftdi1 from that list and start this script with @@ -45,8 +44,10 @@ # Something like this: # # ~/src/mxe <- MXE git with Qt5, automake (see above) +# /grantlee <- Grantlee 5.0.0 sources from git # /subsurface <- current subsurface git # /googlemaps <- Google Maps plugin for QtLocation from git +# /hidapi <- HIDAPI library for libdivecomputer # # ~/src/win32 <- build directory # @@ -137,6 +138,43 @@ else touch Release fi +# grantlee + +cd "$BUILDDIR" +if [[ ! -d grantlee || -f build.grantlee ]] ; then + rm -f build.grantlee + mkdir -p grantlee + cd grantlee + "$MXEBUILDTYPE"-cmake \ + -DCMAKE_BUILD_TYPE=$RELEASE \ + -DBUILD_TESTS=OFF \ + "$BASEDIR"/grantlee + + make $JOBS + make install +fi + +# hidapi for libdivecomputer (if available) + +if [[ -d "$BASEDIR"/hidapi ]] ; then + cd "$BUILDDIR" + if [[ ! -d hidapi || -f build.hidapi ]] ; then + rm -f build.hidapi + mkdir -p hidapi + pushd "$BASEDIR"/hidapi + bash ./bootstrap + popd + cd hidapi + "$BASEDIR"/hidapi/configure \ + CC="$MXEBUILDTYPE"-gcc \ + --host="$MXEBUILDTYPE" \ + --prefix="$BASEDIR"/"$MXEDIR"/usr/"$MXEBUILDTYPE" + make $JOBS + make install + fi +fi + + # libdivecomputer # ensure the git submodule is present and the autotools are set up diff --git a/scripts/docker/mxe-build-container/settings.mk b/scripts/docker/mxe-build-container/settings.mk index 638e18f4a..aadfc4c6f 100644 --- a/scripts/docker/mxe-build-container/settings.mk +++ b/scripts/docker/mxe-build-container/settings.mk @@ -9,7 +9,7 @@ JOBS := 6 MXE_TARGETS := i686-w64-mingw32.shared # The three lines below makes `make` build these "local packages" instead of all packages. -LOCAL_PKG_LIST := qtbase qtconnectivity qtdeclarative qtimageformats qtlocation qtmultimedia qtquickcontrols qtquickcontrols2 qtscript qtsvg qttools qttranslations qtwebview qtwebkit libxml2 libxslt libusb1 libgit2 nsis curl libzip libftdi1 hidapi grantlee +LOCAL_PKG_LIST := qtbase qtconnectivity qtdeclarative qtimageformats qtlocation qtmultimedia qtquickcontrols qtquickcontrols2 qtscript qtsvg qttools qttranslations qtwebview qtwebkit libxml2 libxslt libusb1 libgit2 nsis curl libzip libftdi1 .DEFAULT local-pkg-list: local-pkg-list: $(LOCAL_PKG_LIST) diff --git a/scripts/get-dep-lib.sh b/scripts/get-dep-lib.sh index 0ae39880c..d12397537 100755 --- a/scripts/get-dep-lib.sh +++ b/scripts/get-dep-lib.sh @@ -15,7 +15,7 @@ CURRENT_LIBXML2="v2.9.4" CURRENT_LIBFTDI="1.3" CURRENT_KIRIGAMI="v5.62.0" CURRENT_BREEZE_ICONS="" -CURRENT_GRANTLEE="master" +CURRENT_GRANTLEE="v5.0.0" CURRENT_MDBTOOLS="master" CURRENT_QT_ANDROID_CMAKE="master" diff --git a/scripts/windows-container/before_install.sh b/scripts/windows-container/before_install.sh index 17012ae2f..f6b898c6d 100644 --- a/scripts/windows-container/before_install.sh +++ b/scripts/windows-container/before_install.sh @@ -23,7 +23,9 @@ autoreconf --install # the intended layout as seen inside the container is # /win/subsurface # sources that we are testing # /win32 # binaries that are build +# /grantlee # /libzip +# /hidapi # /googlemaps # # the first two are mounted as volumes (this way we get access to the @@ -41,7 +43,10 @@ docker exec -t builder apt-get install -y ca-certificates libtool # now set up our other dependencies # these are either not available in MXE, or a version that's too old +docker exec -t builder bash subsurface/scripts/get-dep-lib.sh single . libzip +docker exec -t builder bash subsurface/scripts/get-dep-lib.sh single . hidapi docker exec -t builder bash subsurface/scripts/get-dep-lib.sh single . googlemaps +docker exec -t builder bash subsurface/scripts/get-dep-lib.sh single . grantlee # smtk2ssrf build docker exec -t builder bash subsurface/scripts/get-dep-lib.sh single . mdbtools