Commit graph

265 commits

Author SHA1 Message Date
jan Iversen
aab33694f2 build-system: corrected -build-deps problem
Missed a "cd $SRC" so when building with
-build-deps the script broke

Signed-off-by: Jan Iversen <jani@apache.org>
2018-05-20 08:12:10 -07:00
Dirk Hohndel
dce7e46766 Mac: don't try to copy libraries we got from Homebrew
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-05-19 21:22:31 -07:00
Dirk Hohndel
d417d717b9 build-system: change the logic when to build what
Specifically, don't conflate needing libgit2 with the Mac -builddep
argument, and when determining if we need to build libgit2 on Linux,
make sure to also check for a version that we may have built in a
previous run of the build.sh script.

This commit is much easier to understand with
  git show -w
as it contains quite a bit of simple indentation change.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-05-19 21:22:31 -07:00
Dirk Hohndel
14d18276e4 Travis: add secondary Linux build target
The goal is to reduce the overall wall clock time of our test builds.

This secondary Linux target uses the no-sudo container setup with a Qt
5.10.1 backport and tests the build without BT support as well as the
mobile build (but not the full desktop build and doesn't create an
AppImage as the pre-built Qt5.10.1 is missing QtWebKit).

In exchange we remove the no-bt and mobile build from the existing linux
target.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-05-19 21:21:46 -07:00
Dirk Hohndel
6a91611e90 build-system: updated OpenSSL and libusb for Android
These are the latest, supported versions for OpenSSL. I have not tested
if Android would work with OpenSSL 1.1.

The lower versio for libzip is still required as libzip 1.2.0 doesn't
compile for Android.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-05-19 14:15:11 -07:00
jan Iversen
8e2aaa4242 build-system: update get-dep-lib with Android fix.
Android build uses wget and not curl.

Currently android uses older versions of some libs, due to that
a new switch is added temporary.

Old version tested for curl and if not found set the different versions,
however this is not a stable method for obvious reasons

Signed-off-by: Jan Iversen <jani@apache.org>
2018-05-18 16:58:16 -07:00
jan Iversen
1a86c17e28 build-system: changed build.sh to use get-dep-lib
get-dep-lib has been integrated into build.sh, which
ensures different platforms use the same versions etc.

travis is a frequent user of build.sh, but on a mac it runs
without -build-deps and instead used cached versions of the
library. This setup is alo supported

Signed-off-by: Jan Iversen <jani@apache.org>
2018-05-17 11:16:50 -07:00
jan Iversen
1ed8c87d63 build-system: enhanced get-dep-lib with "single"
Added the posibility to fetch a single third lib.

Signed-off-by: Jan Iversen <jani@apache.org>
2018-05-17 11:16:50 -07:00
jan Iversen
6d3637fce0 build-system: made get-dep-lib faster and more robust.
Secured git work only happens when cloning a dir.

There is a version for hidapi, but scripts/build.sh
(which are the source for that part of depend) has a
line:
	# there is no good tag, so just build master
and then continues with master, so it should be good
enough for get-dep-lib as well.

Signed-off-by: Jan Iversen <jani@apache.org>
2018-05-17 11:16:50 -07:00
Anton Lundin
b55c5d55e6 android-build: Build on ubuntu bionic on travis
This way we ensure we can build on the latest LTS, and not just a old
lts.

Signed-off-by: Anton Lundin <glance@acc.umu.se>
2018-05-17 07:36:44 -07:00
Anton Lundin
75205240df android-build: Stop installing ant, we're using grade
Since about a year ago qt-android-cmake shifted to using gradle instead
of ant, and the android sdk's stopped supporting ant to.

Signed-off-by: Anton Lundin <glance@acc.umu.se>
2018-05-17 07:36:44 -07:00
Murillo Bernardes
d2d2e3af3d mobile: prevent Action buttons hijack after delete
This gets delete dive working properly.

Kirigami passive notification ends up hijacking area where the
"Add dive" or "Delete" or "Discard" buttons are shown. So after
deleting a dive the "Undo" button from the notification
keeps handling the touch events even when not visible.

Signed-off-by: Murillo Bernardes <mfbernardes@gmail.com>
2018-05-13 07:03:15 -07:00
Cristian Ionescu-Idbohrn
aa96aa3ac3 Simplier way to get QT_VERSION
Signed-off-by: Cristian Ionescu-Idbohrn <cristian.ionescu-idbohrn@axis.com>
Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
2018-05-12 19:45:28 +03:00
Dirk Hohndel
387aee4cdf Mac: update build.sh to hack around autotools problem
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>
2018-05-11 21:08:41 -07:00
jan Iversen
2408134014 Add script to download/clone 3rd party libs
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>
2018-05-11 10:44:55 -07:00
Dirk Hohndel
c67fe97ba1 Travis: remove flag for iOS that is no longer necessary
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-05-10 20:41:58 -07:00
Murillo Bernardes
7d6a48b59f iOS: use recommended variable for bundle ID
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>
2018-05-10 08:19:33 -07:00
Robert C. Helling
3198b2e3ca Add a comment on building option -mobile
...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>
2018-05-08 12:02:17 +02:00
Dirk Hohndel
450f0992a0 Travis: fix Android build by forcing Ubuntu:xenial for container
The build fails with newer versions and Ubuntu:latest switched to bionic
a few weeks ago.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-05-07 00:39:39 +02:00
Dirk Hohndel
2137b21e1b iOS: allow building for the simulator & switch debug/release builds
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>
2018-04-24 15:47:25 -07:00
Dirk Hohndel
c145911767 Travis: add iOS build
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>
2018-04-24 15:45:44 -07:00
Dirk Hohndel
96611c630f Travis: make qt55 build report build failures correctly
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>
2018-04-15 16:05:50 -07:00
Dirk Hohndel
24a798a5c3 QML UI: update to latest Kirigami
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-04-15 08:16:59 -07:00
Dirk Hohndel
d15a0bc277 Fix typos
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-04-13 17:07:42 -07:00
Dirk Hohndel
bca7f8ed61 Travis: test build against Qt 5.5
We do this in a docker environment to make things fast and easy.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-03-22 07:58:04 -07:00
Dirk Hohndel
c20faf907a Remove now obsolete script
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>
2018-03-13 22:39:34 -07:00
Lubomir I. Ivanov
eac7c4bdae scrips/mobilecomponents.sh: fetch icon for the map
Use one of the breeze icons for the map in the drawer
on the mobile version.

Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
2018-03-11 11:40:12 -07:00
Salvador Cuñat
36396d0bf4 smtk-import: Upload .AppImage and .exe files
Upload windows installer and AppImage to Subsurface's repo

Signed-off-by: Salvador Cuñat <salvador.cunat@gmail.com>
2018-02-24 13:42:01 -08:00
Salvador Cuñat
9ec6aafe51 smtk-import: Add an AppImage for smtk2ssrf
Build an AppImage for smtk2ssrf using previously build binaries.

Signed-off-by: Salvador Cuñat <salvador.cunat@gmail.com>
2018-02-24 13:42:01 -08: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
Salvador Cuñat
d303a589e6 smtk-import: fit build script to run in travis builds
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>
2018-02-24 13:42:01 -08:00
Salvador Cuñat
142c60ff88 smtk-import: Support SmartTrak import in travis builds
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>
2018-02-24 13:42:01 -08:00
Jan Mulder
cd0b911fe8 Mobile: new Kirigami SHA
And sync again with Kirigami master. All safe QML improvements.

Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2018-02-24 11:39:49 -08:00
Jan Mulder
36b8594cce Mobile: again new Kirigami SHA
While we are at this, just go to current master. Only QML
improvements, and safe to upgrade.

Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2018-02-17 21:05:33 +01:00
Jan Mulder
e507b123b5 Mobile: fix build after new Kirigami sha
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>
2018-02-15 21:23:28 +01:00
Jan Mulder
068d55b79d Mobile build: new Kirigami SHA
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>
2018-02-15 21:23:28 +01:00
Jan Mulder
a5b44362c6 mobile: newer Kirigami SHA
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
2018-01-03 14:04:08 +01:00
Dirk Hohndel
a1cd2f2e7a Use our fork of uploadtool
And use the 'correct' URL to obtain the actual file.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-12-30 11:10:40 -08:00
Robert C. Helling
9d844801b9 Update download URL for libzip
Signed-off-by: Robert C. Helling <helling@atdotde.de>
2017-12-18 11:29:17 -08:00
Miika Turkia
9e165602c4 Add git submodule init to build script
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2017-12-14 08:54:53 -08:00
Dirk Hohndel
8f318c7e69 Travis: no longer test Subsurface-mobile without BT
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-12-05 19:29:59 -08:00
Jan Mulder
a3b66b429e build system: fix build of libdivecomputer
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>
2017-12-03 19:05:41 -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
Dirk Hohndel
3368b89336 libdc: get the submodule for Travis CI / Windows MXE
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-12-03 14:12:06 -08:00
Dirk Hohndel
dd20c2004d libdc: add submodule support to build.sh
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-12-03 14:12:06 -08:00
Dirk Hohndel
6b396c45bc Clone breeze icons from GitHub
anongit.kde.org appears to have problems.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-11-27 13:41:15 -08:00
Dirk Hohndel
79e3f69f48 Travis: Mac: enable googlemaps again
This should work now.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-11-24 17:00:29 -08:00
Dirk Hohndel
775d27e5ff Travis: Mac build prevent error out when not using libcurl/libssh2
This shouldn't be needed anymore since the Homebrew libgit2 is not linked
against libcurl and libssh2.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-11-24 16:58:55 -08:00
Dirk Hohndel
a240787c42 build.sh: remove googlemaps .qmake.conf hack
This needed to be fixed in googlemaps instead.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-11-24 16:58:55 -08:00
Dirk Hohndel
ceb642fbdb build.sh: don't use sed -i
I can't seem to find a way to make this work on both Linux and Mac.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-11-24 16:58:55 -08:00