For reasons I cannot explain, running configure for libdivecomputer claims that
certain feature tests pass, even though those features demonstrably aren't
there. This is happening for two compiler warning flags (-Wrestrict &
-Wno-unused-but-set-variable) as well as the test for clock_gettime.
To work around this, we manually edit the config.h file and the created
Makefile before building libdivecomputer.
This happened on macOS 10.11.6 with clang-800.0.42.1 (part of Xcode 8.2.1).
Tangentially related to:
See #1263
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Using one script instead of having the downloads in all build.sh ensures
consistency and lowers maintenance.
Note: this script is not intented to be run directly, it is intented to be
integrated in the various build.sh
Signed-off-by: Jan Iversen <jani@apache.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
We used to hard-code the bundle ID which meant that developers always had to
manually override the bundle ID in order to be able to sign the iOS app for
local testing. With this change, the official builds will continue to work
without manually opening the project in Xcode, yet other developers will use
the Apple-recommended format in order to set their own bundle ID.
This is based on a suggestion by Murillo Bernardes.
See #1246
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
...to explain the difference between building the mobile
version to run on desktop and crossbuild for a mobile OS.
This should address #1247
Signed-off-by: Robert C. Helling <helling@atdotde.de>
It makes sense to be able to control this with command line options.
On Travis this avoids the signing problem and makes the build much faster.
Still should be enough to catch iOS breakage.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Disable most warnings for iOS test build as otherwise the Travis log file will
exceed 4MB and the build will fail.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
The proxy for this is a check to see if the Subsurface binary was
created (in which case we assume that the build succeeded).
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
With the removal of the transport tags from our libdivecomputer branch,
we can no longer automate the table creation that way.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
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>
Set an "automatic" mode via parameter (or auto detected if running in
travis environment) to skip the user prompt.
Install the built binary, in automated builds, under the usual
INSTALL_ROOT folder.
Signed-off-by: Salvador Cuñat <salvador.cunat@gmail.com>
1.- Include needed dependencies (glib-2.0 and mdbtools) in .travis.yml
2.- Call smtk2ssrf-build.sh script *after* subsurface is done and
AppImage is built, as the script will override subsurface's binary.
Signed-off-by: Salvador Cuñat <salvador.cunat@gmail.com>
This is definitely a hack.
Do not include the Kirigami resources (on static build). It causes
double defined symbols in our setting. I would like a nicer fix for this
issue, but failed to find one. For example, not adding the resource in
our build causes the qrc file not to be generated. Manual generation
of the resource file (using rcc) introduces the double symbols again.
so it seems some Kirigami weirdness (but their staticcmake example compiles
correctly).
Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
While most new commits are QML improvements, there is a change
in the Kirigami build related to static building (like we do),
and Cmake restyles to make things more Qt compliant.
As now the (generated) qrc_kirigami.cpp is included from
kirigamiplugin.cpp, for static builds, our build failes on
double defined symbols.
Following commit deals with this fail.
Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
This commit consists of the following 3 parts:
1. There are 2 source files added, adapt our build process
accordingly.
2. Due to a change in icon and kirigami QML prefixes, we need to
adapt for this as well. Changed mobile-resources.qrc for that.
When this would not be changed, the icons will not be found.
3. To further prepare for the future, abandon the iconName
property in favour of the new icon grouped property, which
can have more attributes than only the name. But currently
it is only a syntactic change.
Tested on Android device, and no visible changes.
Signedoff-by: Jan Mulder <jlmulder@xs4all.nl
Trivial fix. Do not first cd to the ./src/subsurface directory, and then prepend
the subsurface directory to the path.
Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
In some situations Travis CI doesn't seem to notice that a build failed and
give us a green check mark even though the build didn't succeed.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Notice this is not the current master. Do not go there
right now. Kirigami SHA f8ee631aac787b60 introduces
a failing load of our main.qml (tested with both
Kirigami 2.0 and 2.2).
This SHA is safe.
Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
In commit e643589233 ("Travis: setup up the desired release message
right away") we temproarily switched to my fork of uploadtool to take
advantage of a new feature that I had implemented there. This has
already been merged upstream, so let's switch back to upstream.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Instead of using the default release message and then trying to fix it up
in the after_success section of one of the builds that we test, let's just
always use the message that we want, regardless which build finishes first.
This currently requires my fork of the uploadtool - the changes have been
submitted upstream and I hope they'll get merged there so we can switch
back to the upstream version of uploadtool.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This adds a android-apk-build which runs on travis-ci. This is using a
quite ugly trick, building in a docker container, basically just to get
a newer cmake. The cmake in trusty is way to old to work with android
builds.
A good side-effect is that this is a complete copy-paste for anyone who
would like to build android-binaries them self on Linux. All the
uglyness is hidden away in a docker container.
Signed-off-by: Anton Lundin <glance@acc.umu.se>
On Linux we want to test both desktop and mobile, and both the full
feature set as well as a build without BT and without WebKit.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
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>
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>
Travis only fetches the last 50 commits - which means that git describe
will usually fail and our version numbers would end up being wrong.
So let's fetch the whole repo and the tags as well to make sure that
git describe works as expected by our tools.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Do not move around .so* files in order for linuxdeployqt to pick them up.
Signed-off-by: Simon Peter <probono@puredarwin.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This is no longer based on the upstream Qt binaries but completely on
binaries built by ourselves, trying to remove some of the features that
we don't need and trying to avoid some of the issues with certain
libraries (like different OpenSSL dependencies).
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
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>
Till now we have been building against a previous built of subsurface.
This was handy and fast, but there is a huge drawback in this approach
because we were including a lot of unneeded dependencies (e.g. marble
or serial-ftdi), some of which are, indeed, optional.
With this patch, a stripped down version of susbsurface is built and
used to link in smtk2ssrf.
The bad news are that this - almost unusable - version of subsurface
overrides any preexisting binary, so the user has to rebuild.
Signed-off-by: Salvador Cuñat <salvador.cunat@gmail.com>
Switch to a newer SHA, so that at least my commit is in. Checked
the newer version, and no other artefacts seen. I think we
should try to follow master where we can (but controlled).
Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
Following master is just not healthy. We need to be more deliberate
in which version we built against. An update in the last 24 hours
broke Subsurface-mobile again.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This reverts commit 893ff019dbabf356a477da0bdf7d954123759018.
Thanks to the amazing support from Marco Martin the theming issue in
Kirigami master has been fixed.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This extends the hack in commit 2e057bc29a ("QML UI: hide action button
when keyboard is visible") to the left and right button as well.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
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>
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>
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>
Until we get some solution from upstream this patch to Kirigami hides the action button when the keyboard is visible.
Signed-off-by: Joakim Bygdell <j.bygdell@gmail.com>