Commit graph

156 commits

Author SHA1 Message Date
Dirk Hohndel
c94e2b5d3f build-system: switch submodule protocol
As of today, GitHub no longer allows the 'git://' protocol, so we need to
switch the submodule and our other references to cloning git repos to
'https://' instead.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2022-03-16 06:46:07 -07:00
Dirk Hohndel
b40354c7f2 build-system: compile stats code on mobile OSs
Android and iOS use qmake, so add the code to the .pro file.
This also removes all remnants of QCharts includes and uses and all the
references to QCharts in our various build systems.

That was a brief but extremely useful detour.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2021-01-10 15:16:52 -08:00
Dirk Hohndel
814b2dd65f build-system/Windows: package the QtCharts QML resources
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2021-01-03 13:56:05 -08:00
Dirk Hohndel
7c84e3de05 update Windows README
Pointing at the current build container.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-12-29 13:39:16 -08:00
Dirk Hohndel
69e7baf682 build-system: allow building only a 64bit Windows installer
This is simply a time optimization that is sometimes useful

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-11-12 11:19:55 -08:00
Dirk Hohndel
cc04f5d3f8 cleanup: fix stupid hack for MXE build script
This is much easier.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-10-31 16:08:02 -07:00
Dirk Hohndel
20d97f7bff build-system: enable both 32 & 64 bit Windows builds
The 32bit build won't include libmtp and therefore won't support the Garmin
Descent Mk2/Mk2i.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-10-30 16:36:08 -07:00
Dirk Hohndel
e71e715cd3 build-system: Docker build for 64bit MXE
We previously tried to build the MXE Docker container on GitHub using
an Action, but that really didn't work well and was a lot more trouble
than it was worth.

So this goes back to an offline build mechanism where I simply create
an updated Docker image when needed and push that to Docker Hub.

But this nearly hides the most interesting change here - we are finally
switching to using 64bit binaries on Windows. It's 2020 and fewer than
1% of our users use 32bit Windows machines. We'll need to expand this
to be able to have both a 32bit and a 64bit version of Subsurface for
Windows. But for now, this solves the problem for 99% of our users.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-10-30 12:24:36 -07:00
Dirk Hohndel
a0cdd38ff6 build-system: adapt the smtk2ssrf script for 64bit Windows
Quite analogous to the Subsurface Windows build script.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-10-30 12:24:36 -07:00
Dirk Hohndel
e9073a7570 build-system: first steps towards a 64bit Windows build
This is barely scratching the surface (no put intended), and of course the
container needs to be updated, first, to have a 64bit version of MXE installed,
but this seems to help make libmtp build correctly.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-10-30 12:24:36 -07:00
Dirk Hohndel
cdf1865246 build-system: add libmtp for our Windows builds
This uses latest master (as that's the only one that has the explicit
Descent Mk2i support in it).

Right now, unfortunately the MXE build fails.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-10-30 12:24:36 -07:00
Berthold Stoeger
1211520ca9 build-system: switch to using C++17 as default C++ dialect
Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-10-24 15:21:55 -07:00
Lubomir I. Ivanov
2006513169 packaging/windows: add the /styles folder
For Windows, the Subsurface installers do not include
the file "qwindowsvistastyle.dll" required to make the
applications that are published to have a native look.

Modify the MXE *build.sh scripts to include the
file as "plugins/styles/qwindowsvistastyle.dll".

Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
2020-10-09 07:31:54 -07:00
Dirk Hohndel
ec7422feb5 build-system: remove Grantlee from the packaging scripts
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-10-08 12:19:39 -07:00
Dirk Hohndel
63cc2d864f build-system: document how to create a Windows installer
These are the instructions that I use at this point.

Removed a long obsolete script - it's been many, many years since that last was
useful (it was still using qmake to try to build Subsurface)

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-09-28 10:38:08 -07:00
Paul Buxton
a753845d5a build-system/MXE: build with more up to date MXE tools.
- use hidapi grantlee and mdbtools from MXE
- update MXE version to use QT 5.15, and pull in libzstd and  CMake 3.17.3
- fix linking of winmm on windows build with new mxe
- add some instructions on building the container
- add some new dependancies from QT 5.15 to the packaging
- add a patch to MXE to Build qtconnectivity with native-win32-bluetooth

[Dirk Hohndel: small refactor]

Signed-off-by: Paul Buxton <paulbuxton.mail@googlemail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-06-25 11:00:51 -07:00
Dirk Hohndel
cd8e1eb15a Revert "Windows build: Changesto build using mxebased hidapi,libusb and grantlee"
This reverts commit 60e63afb82.

I merged this to early without paying attention to the fact that this
needed an updated build container as well.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-10-14 07:31:56 -07:00
Paul Buxton
60e63afb82 Windows build: Changesto build using mxebased hidapi,libusb and grantlee
Remove hidapi from manually built components and use the mxe based one instead.
Remove libzip as that is handled by mxe packages.
Update version of grantlee used to build with qt 5.13.1.
Also hide vscode files from git.

[Dirk Hohndel: combined two commits, cleaned up the commit message and removed
               one now incorrect comment line from mxe-based-build.sh]

Signed-off-by: Paul Buxton <paulbuxton.mail@googlemail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-10-13 11:31:38 -07:00
Dirk Hohndel
4f55760fa5 Windows/MXE: actually build HIDAPI library
Otherwise Suunto EON Steel & EON Core, Scubapro G2 & Aladin Square and
other, future USB HID dive computers won't be supported on Windows.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-01-21 17:10:17 +12:00
Dirk Hohndel
15c7ee5db0 MXE: respect an MXE build type already defined
And use that to have our Travis build still work with the existing MXE
build container as well as the even older, pre-compiled MXE binaries
used in the windows build.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-11-14 17:06:10 +08:00
Dirk Hohndel
cb89ee49a3 MXE: switch to i686-w64-mingw32.shared.posix.dw2
This allows us to build QtWebKit again.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-11-13 20:43:13 -08:00
Stefan Fuchs
45f4dac70a mxe-based-build.sh comments: Also build libftdi1
Add libftdi1 in comments in MXE build script.

[Dirk Hohndel: and mention that it is possible to build without it]

Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-10-23 07:43:16 +01:00
Salvador Cuñat
70ffdd7624 make mdbtools build out-source tree
mdbver.h is created on the fly by configure script and placed in our
$BUILDDIR/include, while the compiler search for it in
$SOURCEDIR/include. This could probably be achieved fine-tunning
configure script but ... well, it works.

Signed-off-by: Salvador Cuñat <salvador.cunat@gmail.com>
2018-10-15 06:35:14 -04:00
Dirk Hohndel
dc094c5757 MXE: enable building against userspace FTDI drivers again
This still doesn't seem to work as expected and needs more testing.
Also, it can be turned off via command line argument

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-10-07 14:00:45 -07:00
Dirk Hohndel
f05d917a37 MXE: use libgit2 from MXE
MXE has had a new enough libgit2 for a while now. No reason anymore to
build our own.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-10-07 14:00:45 -07:00
Dirk Hohndel
26de89364c Revert "Windows: build against user space FTDI library"
This reverts commit 53341c037d.

The commit isn't wrong, but it breaks Travis and I can't seem to get the
newer MXE build to work on Travis. So while I figure out how to work
around THAT, let's just revert this and come back to it once Travis is
ready.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-10-02 13:23:29 -07:00
Dirk Hohndel
53341c037d Windows: build against user space FTDI library
This needs more testing, but should provide an alternative to relying on
the Windows FTDI driver.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-09-30 08:28:16 -07:00
Dirk Hohndel
f0ecd1fbb7 Windows: enable BLE support
This currently requires the wip/win branch of qtconnectivity. Eventually
this should be merged into upstream Qt.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-09-30 08:28:16 -07:00
Dirk Hohndel
d35c3c0fbf build-system: detect libdivecomputer changes in MXE build
Automatically trigger a rebuild of libdivecomputer if it has changed
since the last build.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-06-25 20:21:13 +08:00
Stefan Fuchs
02dcd219cf MXE Windows build script: Chance MXE make call in comment
In the comment/instruction how to build MXE add "libssh2" and "curl"
to the make call. This seems to be needed in newer versions of MXE.

Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2018-03-26 05:34:00 +03:00
Stefan Fuchs
bb922e8db2 MXE Windows build script: Do right build flavor also for googlemaps
Do the right build flavor also for the googlemaps plugin.

Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2018-03-26 05:34:00 +03:00
Salvador Cuñat
f6cee2ca7e smtk-import: add windows building to travis-ci
Prepare the building script to suport travis or set other automated
builds, while keeping other options to manual builds.

In before_install script, create needed directories, and dowload
mdbtools sources.

Add smtk2ssrf build script to travisbuild.sh

Signed-off-by: Salvador Cuñat <salvador.cunat@gmail.com>
2018-02-24 13:42:01 -08:00
Dirk Hohndel
472592fe85 libdc: update MXE build
If the submodule isn't initialized, run git submodule init before
running submodule update. Also, ensure that the autotools are set up.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-12-04 15:07:23 -08:00
Dirk Hohndel
25041be08c libdc: update the MXE build script for submodule
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-12-03 14:12:06 -08:00
Lubomir I. Ivanov
bd9dad7371 MXE: move the objcopy calls to cmakelists.txt
The objcopy calls to strip the debug symbols out of
subsurface.exe need to happen before the installer is
created (staged).

Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
2017-11-15 12:28:51 +01:00
Lubomir I. Ivanov
7552690afa MXE: experiment with creating a RelWithDebInfo build
Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
2017-11-13 20:43:35 -08:00
Dirk Hohndel
4d04f74312 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>
2017-11-11 17:48:57 -08:00
Stefan Fuchs
f0de9e77b8 Windows NSI installer: Remove qml folder on uninstall
Do remove also the (new) qml folder on uninstall.

Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2017-09-24 22:20:23 +03:00
Stefan Fuchs
803e98befe MXE build script: Mention googlemaps plugin in comments
Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2017-09-15 08:58:19 -07:00
Stefan Fuchs
26d9944013 MXE build script: Remove hint to use old MXE version
Meanwhile (after removing marble) it seems to be a good choice to use
latest MXE version with currently Qt 5.9.1.

Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2017-09-15 08:58:19 -07:00
Lubomir I. Ivanov
2b40e15713 remove Marble from packaging and build scripts
Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>

---
please note, that i have no way to test most of the scripts ATM.
2017-09-04 07:46:35 -07:00
Dirk Hohndel
e808c92bb6 MXE build: build the googlemaps plugin
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-08-02 23:07:47 -07:00
Lubomir I. Ivanov
e05abca7e0 mxe-based-build.sh: copy a googlemaps plugin instead of esri
This would work only if the folder:
$BASEDIR/"$MXEDIR"/usr/i686-w64-mingw32.shared/qt5/plugins/geoservices
contains such a file.

Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
2017-08-02 23:39:10 +03:00
Dirk Hohndel
ada477eda4 MXE build: don't use host cmake
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-08-01 02:53:17 -07:00
Dirk Hohndel
eb584db8ff Revert "MXE build: drop all WebKit dependencies"
This reverts commit 916d4b8cce.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-07-31 09:40:11 -07:00
Dirk Hohndel
916d4b8cce MXE build: drop all WebKit dependencies
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-07-29 21:13:28 -07:00
Dirk Hohndel
04f8eee46c MXE build: copy the QML modules we need
And include them in the installer.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-07-29 20:43:26 -07:00
Dirk Hohndel
0021f24eef MXE build: better logical grouping
This just makes more sense in which variables go with which code.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-07-29 13:41:35 -07:00
Dirk Hohndel
26879bffcc MXE build: include QtLocation DLL
Another one that otherwise gets missed.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-07-29 13:25:41 -07:00
Dirk Hohndel
4c0cac067c MXE build: install esri plugin
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-07-29 13:25:41 -07:00