Commit graph

77 commits

Author SHA1 Message Date
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
Robert C. Helling
3c7e14a18f Don't build libdivecomputer examples
... as those don't compile.

Signed-off-by: Robert C. Helling <helling@atdotde.de>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-03-16 07:46:28 -07:00
Robert C. Helling
49bcbf39d5 Replace ~ by $HOME in build.sh
Somehow the file test with ~ interpolation does not work

Signed-off-by: Robert C. Helling <helling@atdotde.de>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-03-16 07:46:28 -07:00
Dirk Hohndel
2b1812f2cb Build scripts: work with both Qt 5.5 and 5.6
This is all a bit hackish but seems to work

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-03-03 14:34:03 -08:00
Jan Mulder
e80284fcfc Simplify building of Android build from one source tree
Currently, when running the packaging/android/build.sh from a source
tree that has been used for desktop builds, libdivecomputer wants a
make distclean. This is inconvinient, and is caused by building
libdivecomputer in source. Now, configure and build libdivecomputer
in a new subdirectory, allowing to run the android build script
from the same source tree as the desktop (both desktop and mobile)
builds.

Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-02-02 09:28:47 -08:00
Dirk Hohndel
60115821a5 build.sh: fix logic when to build grantlee
Grmbl. SUBSURFACE_EXECUTABLE now doesn't get set until later in the
script. So let's just trigger this explicitly.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-01-22 10:15:51 -08:00
Dirk Hohndel
040d3cd413 build.sh: fix broken logic to pull mobile components
In commit f28f03afe2 ("build.sh: make it easier to build
Subsurface-mobile") I mistakenly broke the logic that decides to run the
mobilecomponents.sh script.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-01-18 11:20:05 -08:00
Dirk Hohndel
f28f03afe2 build.sh: make it easier to build Subsurface-mobile
The script now takes a -mobile argument, or -both and then builds the
mobile version or both versions. To make things more consistent across
different invocations the desktop version is built in the "build"
directory and the mobile version is built in "build-mobile".

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-01-17 10:44:00 -08:00
Willem Ferguson
69eeb2bf5b Make default build for desktop.
Make the default build a DesktopExecutable, with an option to set a variable for doing a mobile build.

Signed-off-by: Willem Ferguson <willemferguson@zoology.up.ac.za>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-01-17 08:42:14 -08:00
Sebastian Kügler
6540e95425 dive details navigation
This patch reworks the navigation of the dive details.

- The detailsview is now a list view with page-sized delegates. This
  allows horizontal swiping to the next and previous dive.
- The central button now allows to open the edit mode for the dive.

Original patch was done by Marco Martin, but needed to be reapplied by
hand.

Signed-off-by: Sebastian Kügler <sebas@kde.org>
2016-01-12 03:06:09 +01:00
Dirk Hohndel
7c459f87cd Consolidate scripts
Since commit c496d5fa05 ("Add helper script to pull Plasma Mobile Components
and icons") we had three different spots where we retrieved the Plasma Mobile
Components. That's a wee bit of overkill. So instead have the other two scripts
just call this one.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-01-08 21:46:44 -08:00
Dirk Hohndel
0d9b22cf94 build.sh: don't build Grantlee for Subsurface-mobile
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-01-07 21:30:51 -08:00
Dirk Hohndel
bb687f7f8b Remove plasma mobile components, pull from upstream at build time
This prevents us from constantly having to worry about keeping them in sync.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-01-07 10:22:20 -08:00
Dirk Hohndel
7aab635585 Remove support for older libgit2 - we now require 0.23 or later
Also fixes a capitalization error that prevented finding libssh2 in some
circumstances. And adds a missing include when building with libzip on Mac.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-12-15 13:33:00 -08:00
Dirk Hohndel
e714263e8a build.sh: don't build libssh2 anymore on Mac
I don't recall why this was needed, but things seem to work fine with the one
avaialable via Homebrew

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-12-09 15:19:47 -08:00
Dirk Hohndel
1cada7847e Build script: make sure we find the cmake files for our libraries
This way cmake should pick the right libraries that we built earlier in the
process.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-09-06 07:53:18 -07:00
Dirk Hohndel
73f2cc631c Build script: small updates around installation on Linux
Don't install by default (and don't configure Subsurface to install into
install-root).

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-09-02 18:35:40 -07:00