Commit graph

352 commits

Author SHA1 Message Date
Dirk Hohndel
9fefd10390 build-system: add script to build only libdivecomputer
This is used on LGTM (and initially got lost when I merged those changes).

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-04-04 15:04:42 -07:00
Lubomir I. Ivanov
e685e7e9de facebook: remove the featute from the code base
Remove from:
- unit tests
- desktop widgets
- preferences
- core intergration
- cmakefiles
- build scripts
- icons
- docs

Also remove the plugins and social network integration.

Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-04-04 10:24:01 -07:00
Jan Mulder
4b42837327 Travis: OpenSUSE 42.3 / Qt5.6 build issue, use openssl and no libressl
... and remove install of the default (old) libgit2 from OS. That old
(0.24.0) libgit2 will be replaced by a newer anyway, so useless to
install.

But the real change to get this Travis build running again is using
the well known openssl instead of libressl.

Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2019-01-22 13:06:01 +13:00
Dirk Hohndel
3c5c0185dd Travis: OpenSUSE 42.3 / Qt5.6, add missing curl
The install was missing curl.

Signed-off-by: Jan Mulder <jlmulder@xs4all.nl> Removed upgrade to newer libgit2.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-01-22 13:06:01 +13:00
Jan Mulder
78ad59b22f Build: build libgit2 from source when less than 0.26.0
We currently require a minimal version of libgit2 of 0.24.0. From
issue #1926 it seems that this version is too old. So, a simple test on
Linux to see the behaviour with such an old libgit2, I tried that.
Interestingly, with the current version of openssl that old libgit2
version does not even compile from source (known error in libgit2).

So, bump our minimal version of libgit2 to 0.26.0. That is also the
version we currently use on the Travis and official builds, so well
tested.

Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2019-01-22 13:06:01 +13:00
Dirk Hohndel
0bd75c8e9e build system: try harder to checkout the right version
And actually fail a build if that doesn't work.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-01-22 13:05:03 +13:00
Dirk Hohndel
9e83106ff7 Travis: use 5.12.03 Docker image for Android
With this we have working arm and arm64 images (except that the arm64
image crashes when using Bluetooth).

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-01-22 13:02:39 +13:00
Dirk Hohndel
ee53639306 Android Dockerfile: add latest cmake 3.13.2
cmake 3.10 (which comes with Ubuntu 18.04) in combination with Qt 5.12
and the current qt-android-cmake causes an odd bug. Paths are set with a
double slash at the start '//' and later in the process this causes
garbled path names for some of the objects which in return causes the
APKs built in the container to fail.

Upgrading the cmake inside the container to 3.13.2 fixes that problem.

All the credit for identifying the problem and figuring out a solution
goes to Jan Mulder.

The resulting container was pushed to Docker hub as version to 5.12.03.

Reported-by: Jan Mulder <jlmulder@xs4all.nl>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-01-22 13:02:39 +13:00
Jan Mulder
e964bae5b9 Android Docker: give the docker build its own output tree
Again, this is relevant for developers that do local docker android
builds, and normal android builds. A normal build uses the directory
subsurface-mobile-build-arm(64), and when doing a docker android build
this directory is shared between host and container. That sharing is
good, as it nicely exposes the build tree to the host (for easy compare,
inspection, etc.). But reusing the same tree as the local one is
inconvenient (and possibly dangerous due to all kinds of caching
issues).

So, give the docker build its own output tree for the shared
subsurface-mobile-build-arm(64) build output.

Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2019-01-22 13:02:39 +13:00
Jan Mulder
968b7c1f7c Android Docker: give the android builder its own name
Users that use docker locally for Windows style build and Android style
builds will (probably) not like that we use the same name for both
docker containers. So, give the android builder its own name.

Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2019-01-22 13:02:39 +13:00
Dirk Hohndel
86d3e59d70 Android: build both 32 and 64 bit binaries
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-01-22 13:02:39 +13:00
Dirk Hohndel
55a0bed59f Travis: find the Android apk in the right spot
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-01-22 13:02:39 +13:00
Dirk Hohndel
071bce0fd1 Android Dockerfile: ugly hack to deal with current NDK compile problems
As explained in commit 449d4ee33d ("Android build: add explanation for
huge hack").

It seems reasonable to add this to our Travis image as that is custom
made just to build our Android binaries.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-01-22 13:02:39 +13:00
Dirk Hohndel
af6da3090a Android Dockerfile: add comments and try to shrink the image more
This image is downloaded on every Travis run. Making it smaller is important.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-01-22 13:02:39 +13:00
Dirk Hohndel
8628567e31 Travis: build against the Qt 5.12 Android image
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-01-22 13:02:39 +13:00
Dirk Hohndel
247513ad08 Android: update for Qt 5.12.0
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-01-22 13:02:39 +13:00
Dirk Hohndel
1219225729 Travis: use Android docker image for build
This should make it easier to make changes to our build environment.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-01-22 13:02:39 +13:00
Dirk Hohndel
295c323d51 Android: create docker container
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-01-22 13:02:39 +13:00
Dirk Hohndel
c8c6035d79 Android: add Dockerfile for build environment
We'll use that on Travis, but anyone can use that on their system.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-01-22 13:02:39 +13:00
Dirk Hohndel
0d69b420a4 Travis: fix the windows-container build
Call apt update before trying to install things.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-01-22 12:54:44 +13: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
651f63282f build-system: switch back to upstream qt-android-cmake
And in the process use our script to do the work.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-10-27 10:38:39 -04:00
Salvador Cuñat
604d563a87 Fix after_success.sh for windows container build
Ooops. Forgot to fix this before sent the patches, as this part doesn't
works on my travis builds.

Signed-off-by: Salvador Cuñat <salvador.cunat@gmail.com>
2018-10-15 06:35:14 -04:00
Salvador Cuñat
faca48f2b6 windows-container: enable smtk2ssrf building
Enable building of SmartTrak divelogs importer.
A new, lighter, tarball for mxe static libraries has been built, as it
seems impossible to build mdbtools with shared libraries (see mxe's
build matrix). The tarball doesn't include prebuilt mdbtools and we
build from source via build script.

Signed-off-by: Salvador Cuñat <salvador.cunat@gmail.com>
2018-10-15 06:35:14 -04:00
Dirk Hohndel
7a1ceee4e7 Travis: build Subsurface-mobile against Qt57 as well
Simply adding another OS / environment on which we test building of
Subsurface-mobile

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-10-09 10:03:38 -07:00
Dirk Hohndel
4a0beab2a4 Travis: build Subsurface-mobile on macOS
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-10-09 10:03:38 -07:00
Murillo Bernardes
2b3dc46c86 macOS: check for system headers in SDK
Starting with Xcode 10, system headers are located inside the
macOS SDK.

Add this location to the check for command line tools.

Signed-off-by: Murillo Bernardes <mfbernardes@gmail.com>
2018-10-08 15:34:16 -07:00
Dirk Hohndel
9dac90c6bf Travis: don't upload the MXE Subsurface binaries
More specifically, don't upload them from the old Windows build - we
just keep that one around for the smtk2ssrf binaries. The Subsurface
binaries are now created in the container based Windows build.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-10-07 14:00:45 -07:00
Dirk Hohndel
c330659df6 Travis: build old style Windows without FTDI support
This way we can still get an smtk2ssrf build until that is added to the
windows-container target.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-10-07 14:00:45 -07:00
Dirk Hohndel
450f654063 Travis: add Windows build in a container
I expect this to become the default way to test Windows builds and
create installers on Travis. The idea is that instead of downloading the
pre-built MXE binaries we might as well use a container that has all
this installed and can be used locally to test if things fail on Travis;
which will allow us to have the exact same environment for testing
locally as runs on Travis.

At this point the container used is way too big - more effort needs to
be spent on shrinking it.

Right now this only deals with Subsurface and not with smtk2ssrf.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-10-07 14:00:45 -07:00
Dirk Hohndel
6b9e77ba01 build-system: minor cleanup of build.sh
That qmake -query was added for debugging a long time ago.

Since the comment clearly indicate that the edit of the Makefile is only
for Travis, let's only do it when running on Travis.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-10-07 14:00:45 -07:00
Dirk Hohndel
5c2181daa7 build-system: remove support for local cloning in build.sh
It wasn't documented in the first place (magic first argument, anyone?).

This used to be available for quite a few of the dependency and had
somehow kept around only for Grantlee and Googlemaps. Let's just kill
this and be consistent for all dependencies.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-10-07 14:00:45 -07:00
Dirk Hohndel
a83a2d8b1f build-system: add Grantlee to our get dependency script
I actually don't know why this was missing...

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-10-07 14:00:45 -07:00
Dirk Hohndel
1ac90199e5 build-system: fix libdivecomputer build on macOS
In some Mac environments autotools somehow think that we have clock_gettime(),
even though it isn't supported. Somehow the previous workaround stopped working
as make ended up re-running ../configure and overwriting our change. This tries
to work around that problem.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-10-03 16:35:25 +02:00
Jan Mulder
5681f686ba Revert "Revert "QML UI: newer Kirigami and fallout""
This reverts commit a5db03c2b3.

Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2018-10-01 05:29:46 -07:00
Dirk Hohndel
b80fd26e81 build-system: fix appdata creation
The pipe in the  execution apparently didn't fail, so the date wasn't set
when building from a tar file.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-09-29 12:09:11 -07:00
Dirk Hohndel
a5db03c2b3 Revert "QML UI: newer Kirigami and fallout"
Turns out that Jan found an issue with the latest Kirigami, so let's go back to
the known good one.

This reverts commit 17ec95e70c.

Suggested-by: Jan Mulder <jlmulder@xs4all.nl>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-09-28 14:53:22 -07:00
Dirk Hohndel
e99df4af2c Revert "build-system: fix kirigami.pri for iOS build"
Turns out that Jan found an issue with the latest Kirigami, so let's go back to
the known good one.

This reverts commit 40766db459.

Suggested-by: Jan Mulder <jlmulder@xs4all.nl>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-09-28 14:51:54 -07:00
Dirk Hohndel
40766db459 build-system: fix kirigami.pri for iOS build
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-09-27 10:44:37 -07:00
Jan Mulder
17ec95e70c QML UI: newer Kirigami and fallout
Update to the master of today, and no issues detected on mobile-on-desktop
and Android.

Only, the ugly border is back as the magic hack of 0b16b547ae failed
due to the patch file that errored. So that is fixed too.

Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2018-09-27 08:42:47 -07:00
Dirk Hohndel
83079c92df build-system: fix appdata creation on OBS
Build systems that run from tar balls and not git fail to create valid
.appdata.xml This solves the problem for tar balls that we create for
OBS via our own make-package script. It doesn't solve the problem for
Arch or Gentoo who I believe take our tar files created via git archive.
One way to fix this would be to change the process by which I create
those tar files, I guess.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-09-20 10:02:54 -07:00
Dirk Hohndel
26d8beb766 build-system: don't modify a file under git control
Instead of editing appdata/subsurface.appdata.xml in place, switch to our usual
pattern of modifying a .in file and add the resulting file to .gitignore.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-09-15 15:51:47 -07:00
Dirk Hohndel
d94f813623 Mac: hard code macosx-version-min as 10.11, regardless of available SDKs
This should never be wrong, and should avoid the warnings on Travis.

Fixes #1654

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-09-13 09:26:44 -07:00
Dirk Hohndel
dc68c3e7bd Travis: build export-html on Mac and Linux
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-09-09 19:52:14 -07:00
Alexander Wilms
bcf568586d Fix appdata
Use correct format, create script to update the version and release date in the
appdata.

[Dirk Hohndel: call said script during the build process]

Signed-off-by: Alexander Wilms <f.alexander.wilms@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-09-09 18:43:30 -07:00
Dirk Hohndel
dd633119bb Travis: use system libgit2 on OpenSUSE for Qt56 build
This is libgit2 0.24 which is new enough for our purposes.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-09-05 21:43:58 -07:00
Dirk Hohndel
11993b59ca build-system: don't show spurious errors looking for qmake
And improve the message if we do indeed not find it.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-09-05 21:43:58 -07:00
Dirk Hohndel
fde266860e Travis: fix qt56 builds
This seems very strange - but it appears that we are missing the 'which'
command.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-09-05 21:43:58 -07:00
Dirk Hohndel
4e1f806d02 Travis: show performance test results
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-08-31 06:33:46 -07:00
Dirk Hohndel
9083404981 Travis: put large test data in place for TestParsePerformance
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-08-31 06:33:46 -07:00