Commit graph

93 commits

Author SHA1 Message Date
Dirk Hohndel
9c3a45af95 Travis: add Mac build
This adds a -skip-googlemaps option to the build script since for some
reason trying to build the googlemaps plugin in the Travis mac
environment causes an error with a missing stack-protector-strong
feature.

The build relies on a custom build Qt and a cached homebrew environment.
And the result is of course not a DMG with a signed app but a zip file
with an unsigned app - so it's a bit harder to consume.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-11-14 21:39:15 -08:00
Dirk Hohndel
8c98386732 build.sh: fix typo that caused us to build Grantlee tests
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-11-05 15:50:11 -08:00
Dirk Hohndel
6ce4239884 build.sh: add option to create appdir
This makes it easier to create an AppImage from the build artifacts.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-11-05 13:16:23 -08:00
Dirk Hohndel
138f0255f8 build.sh: always install Subsurface
We had not done this on Linux as it was just as easy to run from the build
environment, but we need to install in order to be able to create an AppImage
on Travis.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-11-05 13:15:53 -08:00
Dirk Hohndel
ea577aa8f2 Fix stupid syntax errors
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-10-16 05:27:30 -04:00
Dirk Hohndel
972a4730c3 build.sh: add option for force BT support off
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-10-15 21:49:50 -04:00
Stefan Fuchs
dc0f011920 Correct incorrect variable qt_version instead of QT_VERSION in build.sh
Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2017-09-16 08:36:30 -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
c465ec586c On Fedora, qmake is qmake-qt5
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-08-26 15:12:43 -07:00
Dirk Hohndel
d3340fe9ae build.sh: make Qt private headers available if missing
This is based on a script that Lubomir worked on and sent to the mailing
list.

Suggested-by: Lubomir I. Ivanov <neolit123@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-08-26 11:51:53 -07:00
Dirk Hohndel
8cd4c73217 build.sh: find qmake earlier in the script
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-08-26 11:49:39 -07:00
Dirk Hohndel
dd9e5bb96f build.sh: qmake should pick up our INSTALL_ROOT
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-08-03 16:50:53 -07:00
Dirk Hohndel
1e62120534 build.sh: remove unsupported compiler options for googlemaps
Trusty (Travis) doesn't support -std=c++1z and -Wdate-time - and the
module doesn't need them.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-08-03 11:19:49 -07:00
Dirk Hohndel
4e2cada878 build.sh: clone from https
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-08-03 06:41:30 -07:00
Dirk Hohndel
f57f10eb8c build.sh: follow our build pattern a bit more
Build in a 'build' subdirectory and use the INSTALL_ROOT. Also make sure
you find qmake on custom Qt installations.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-08-02 19:05:16 -07:00
Lubomir I. Ivanov
ca37301cb5 build.sh: build the google maps geoservices plugin
The source code is pulled from the forked repository at:
git@github.com:Subsurface-divelog/googlemaps.git

It's rebased if needed, build using 'make -j4' and then
installed.

Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
2017-08-02 23:38:52 +03:00
Dirk Hohndel
2ca8d664d7 build.sh: add quotes to if clause
Otherwise this will cause error when the variable is undefined.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-07-29 07:55:25 -07:00
Dirk Hohndel
a1a833392d build.sh: don't build with WebKit unless explicitly requested
Even if WebKit may exist on Linux, by default we no longer should build against
it.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-07-29 07:55:25 -07:00
Dirk Hohndel
8a35794632 build.sh: redo command line parsing
And in the process make NOT building against Marble the default.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-07-28 22:03:22 -07:00
Dirk Hohndel
dd1bdd3f81 build.sh: don't fail if we can't find libusb or hidapi
Also remove a left behind debug printout.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-07-15 21:59:31 -07:00
Dirk Hohndel
20f5609a6c Mac build: correctly deal with no printing
Including working around a weird hack to install the Grantlee
plugins.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-07-15 21:51:42 -07:00
Dirk Hohndel
a629eb7070 Mac build: move Qt detection to outside level
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-07-15 21:41:47 -07:00
Dirk Hohndel
8c31a1705c Mac build: newer Qt comes without WebKit
Allow turning it on for those who have it, but by default
build without it on Mac.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-07-15 21:39:54 -07:00
Dirk Hohndel
d943a843e5 Mac build: deal with libdivecomputer and pkg-config
libdivecomputer asks pkg-config for the include paths for libusb-1.0 and
hidapi, but then uses #include <libusb-1.0/libusb.h> and <hidapi/hidapi.h>
which fails as those directories are part of the include path. So we
manually add include paths without that last directory as well as a work
around.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-07-15 14:18:33 -07:00
Dirk Hohndel
5656509f61 Mac build: deal with SDK location and availability
I really want to build against 10.10 so as many people as
possible can use the binaries I create, but regular users
might not have the older SDKs installed.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-07-15 10:39:44 -07:00
Dirk Hohndel
bd18b6b88f build.sh: add option to build all dependencies
Using the Homebrew dependencies is much easier and faster, but then
we run into the problem that Homebrew always builds against your current
OSX version. This instead allows us to build the dependencies ourselves
and set the SDK / minimum OSX version. This is mainly important for
binaries that we want to distribute.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-07-04 01:45:55 +09:00
Dirk Hohndel
acee6f4bec build.sh: build against older SDK / minimum OSX version
On Mac we want to make sure that we don't only run on the OS that
we were built on, but all the way back to 10.10 (that's the oldest
that Qt supports).

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-07-04 01:45:55 +09:00
Dirk Hohndel
36d462e0f9 build.sh: don't override existing CMAKE_PREFIX_PATH
If we already explicitly point at one Qt installation, don't override
with another one.

Also, support all the way up to Qt 5.9.1

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-07-04 01:45:55 +09:00
Dirk Hohndel
f091b8b705 Fix Travis breakage (and overall breakage)
I can't believe this slipped through my review. How embarrassing.

Credit goes to Anton Lundin for spotting this.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-06-26 12:39:00 -07:00
Linus Torvalds
196adb591b Very early and likely quite broken BLE GATT code
This is some very early and hacky code to be able to access BLE-enabled
dive computers that use the GATT protocol to send packets back and forth
(which seems to be pretty much all of them: a vendor-specific GATT
service with a write characteristic and a notification characteristic
for reading).

For testing only.  But it does successfully let me download dives from
my EON Steel and my Scubapro G2.

NOTE! There are several very hacky pieces in here, including just
"knowing" that the write characteristic is the first one, and the
notification characteristic is second.  The code should actually check
the properties rather than have those kinds of hardcoded assumptions.

It also checks "vendor specific" by looking at the UUID string
representation, and knowing that the standard ones start with zero.
Crazily, there doesn't seem to be any normal way to test for this,
although I guess that maybe the uuid.minimumSize() function could be
used.

There are other nasty corners. Don't complain, send me patches.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-06-24 21:58:01 -07:00
Thiago Macieira
6bfb1f5200 Adapt build.sh if qmake is already in PATH on a Mac
Some people (like me) have Qt elsewhere. So long as qmake is in PATH,
we should be able to support it.

Signed-off-by: Thiago Macieira <thiago@macieira.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-05-20 12:20:48 -07:00
Stefan Fuchs
d82f8cbd3f Change protocoll for any git clone from Github to https
Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2017-04-16 07:41:24 -07:00
Stefan Fuchs
d6f2658268 Change git clone remote for grantlee to Github steveire/grantlee
Change source for grantlee in build.sh to Github steveire/grantlee

Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2017-04-16 07:41:24 -07:00
Stefan Fuchs
d661189b54 Change remotes for git clone for libdc, marble and Subsurface to Github
Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2017-04-16 07:41:24 -07:00
Dirk Hohndel
5f9ca5f2ec Add Qt 5.7 and 5.8 for Darwin in build script
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-04-12 20:24:24 -07:00
Jan Mulder
fd40a29ec8 Use libdc from github now
The build script was cloning the Sursurface branch of libdivecomputer from the "old"
location. Use the new github based location from now on.

Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2017-04-12 17:50:44 -07:00
Dirk Hohndel
73641c4e73 build.sh: if new enough libgit2 is installed, use it
Right now this is only designed for Linux where current distros all should have
a new enough libgit2 (and our instructions tell people to install this with
system tools, so we should also use it).

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-01-16 17:00:55 -08:00
Dirk Hohndel
c749498beb build.sh: fix potential autoreconf problem
It appears that sometimes autoreconf will not install ltmain.sh and
subsequently fail; simply running autoreconf again appears to be a
workaround.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-01-16 10:12:20 -08:00
Dirk Hohndel
843482ac8b build.sh: use a more current version of libgit2
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-01-01 14:23:49 +02:00
Dirk Hohndel
ce959fb757 build.sh: fix typo
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-12-27 15:43:14 -08:00
Dirk Hohndel
083b7e83ae build.sh: Don't even clone marble if we don't build against it
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-12-27 01:46:54 -08:00
Robert C. Helling
434c27525a Document the heat map in the manual.
Signed-off-by: Robert C. Helling <helling@atdotde.de>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-09-27 21:32:32 -07:00
Dirk Hohndel
7dd8a62ced Don't build Kirigami as a library
Just link it directly into Subsurface-mobile. That's what we already do
with the qmake file for iOS, now the cmake based builds do the same. This
should remove a lot of issues.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-18 21:38:13 -07:00
Anton Lundin
11df8d9a90 scripts: Don't build marble for mobile
When only building the mobile version, we don't need to build marble.

Signed-off-by: Anton Lundin <glance@acc.umu.se>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-17 21:44:31 -07:00
Anton Lundin
04d8d7cb13 scripts: run all scripts with -e
Run all scripts with -e so they exit as soon as something breaks. That
way the build stops at the first error, not some other error.

Signed-off-by: Anton Lundin <glance@acc.umu.se>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-17 21:44:31 -07:00
Dirk Hohndel
a62e225e03 Hack to work around build issues with current kirigami
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-14 10:22:16 -07:00
Dirk Hohndel
af282a6061 Don't build kirigami in the source tree
Instead build it in its own build tree, where it belongs.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-14 09:35:12 -07:00
Marco Martin
24718adfc3 Use kirigami built in static mode
Now kirigami needs to be built with a C++ plugin.
In cases of mobile operating systems such as iOS (and in a lesser measuse,
Android) having a proper plugin loaded at runtime may be difficult, so
statically link it together with all of its qml files compiled as a
qresource inside the static library.

Signed-off-by: Marco Martin <notmart@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-14 07:56:05 -07:00
Jeroen Massar
cfd3d8868b Verify that the Xcode Command Line Tools are installed
Otherwise /usr/include does not exist on a clean-ish install

Signed-off-by: Jeroen Massar <jeroen@massar.ch>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-03-16 09:00:50 -07:00
Jeroen Massar
0ddfd3a992 Detect Homebrew Qt5
And preserve that path in CMAKE_PREFIX_PATH and pass it along to cmake

Signed-off-by: Jeroen Massar <jeroen@massar.ch>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-03-16 09:00:31 -07:00