Commit graph

257 commits

Author SHA1 Message Date
Tomaz Canabrava
cc6875d39e Rework the dependencies on the Android platform
We where able to build the android-mobile on desktop and the desktop on
android, now I allow only mobile on android and desktop on desktop.
this is to make the cmake clear, and we can also use the emulator on
the android platform, so nothing is really lost.

Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com>
2015-12-16 08:01:46 -08:00
Tomaz Canabrava
9079701176 Move adding -lpthread
Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com>
2015-12-16 08:01:16 -08:00
Tomaz Canabrava
320cfccd71 Change the way we handle targets
Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com>
2015-12-16 08:00:57 -08:00
Tomaz Canabrava
47a985b0c7 correct android usage
Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com>
2015-12-16 08:00:57 -08:00
Tomaz Canabrava
b6eb865803 Issue an error when no platform is found
Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com>
2015-12-16 08:00:56 -08:00
Tomaz Canabrava
aaafaade5e Use a single variable to handle the extra Qt stuff
It's easier to debug what's wrong this way

Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com>
2015-12-16 08:00:31 -08:00
Tomaz Canabrava
24f0abe347 Remove commented out code
Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com>
2015-12-16 08:00:31 -08:00
Tomaz Canabrava
32714faf24 Remove the Dll finding code from within the Main CMake
Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com>
2015-12-16 08:00:31 -08:00
Tomaz Canabrava
c7a3cb68f5 We don't need the same test twice for the same thing.
Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com>
2015-12-16 08:00:31 -08:00
Tomaz Canabrava
4ae0ce0c60 Code Cleanup
Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com>
2015-12-16 08:00:31 -08:00
Tomaz Canabrava
b33059e08b We don't support insource builds anymore
Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com>
2015-12-16 08:00:31 -08:00
Tomaz Canabrava
6948859678 Move include directories a bit down below
Better to follow the CMake logic and se those near the
sources

Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com>
2015-12-16 08:00:31 -08:00
Tomaz Canabrava
957f5532b8 Move OSX code to OSX IF
Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com>
2015-12-16 08:00:30 -08:00
Tomaz Canabrava
2637b5c3f1 Rework Options order, add SUBSURFACE_TARGET_PLATFORM flag.
Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com>
2015-12-16 08:00:04 -08:00
Tomaz Canabrava
f26df4f80a Move Handling of user manual to Modules directory
Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com>
2015-12-16 07:59:37 -08:00
Tomaz Canabrava
268fbf3fb1 Handle VersionGeneration outside of the main CMakeFile
This is actually a good change: we used to write a new
CMake file in configure time just to move it outside of the
source to the build dir at compile time. Now this file is
pre-created and it's only moved.

Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com>
2015-12-16 07:59:37 -08:00
Tomaz Canabrava
f60e86b19c Move FTDI and Grantlee configuration out of CMakeLists.txt
Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com>
2015-12-16 07:59:36 -08:00
Tomaz Canabrava
cef86356f5 Add HandleFindMarble.cmake
Marble stuff should be inside handleMarble file, this clears
the Main CMakelists.txt file.

Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com>
2015-12-16 07:59:01 -08:00
Tomaz Canabrava
126d9a00e4 Added HandleFindLibDiveComputer.cmake
Anoter attempt to clear the Main CMakeLists.txt file

Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com>
2015-12-16 07:59:01 -08:00
Tomaz Canabrava
65cecad564 Add some commits to make cmake clear
Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com>
2015-12-16 07:59:01 -08:00
Tomaz Canabrava
c738dade47 Ensure Out of Source builds
In source builds creates a lot of noise on the source tree,
creating tons of temporaries that makes git status cry, and it also
creates dangerous files that have names similar to actual source
and could make a developer use them by mistake.

Make out of source buiild mandatory to remove that, it also makes
CMake code easier to read.

Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com>
2015-12-16 07:59:01 -08:00
Tomaz Canabrava
24f3743fc1 Start to clean the Main CMakeLists.txt filel
CMake is a strange and complex language for buildsystems,
and as such we need to let the main CMakeLists.txt be as
clear as possible.

Moving a bunch of code that deals with finding git via
default CMake way or pkg_cofig to a file named 'HandleFindGit'
on our cmake/Modules folder.

Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com>
2015-12-16 07:58:56 -08:00
Dirk Hohndel
b5905f3ab7 Cmake: remove debug code that accidentially slipped in
And try to fix the upper case / mixed case confusion that we apparently
have with libssh2 - oh how I hate this stuff.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-12-15 17:47:15 -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
c8be04edad Mac build: move the QtXml hack into Cmake
This way build.sh can build a Subsurface.app that the user can use via

	open subsurface/build/Subsurface.app

after running build.sh.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-12-09 15:24:25 -08:00
Dirk Hohndel
b928dff3ce Only install QML Framework files for Subsurface-mobile
The workaround to building Subsurface-mobile on Mac messes with the ability to
sign the bundle, so only do this when building Subsurface-mobile which we don't
bundle, anyway.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-12-06 13:44:32 -08:00
Anton Lundin
59042b2ed0 Fix disabling of facebook integration
Signed-off-by: Anton Lundin <glance@acc.umu.se>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-12-02 09:21:04 -08:00
Anton Lundin
58901690dd Remove defaults for Android from cmake
Some of the flags needed to build for android was set in cmake. There
are many more that needs to be set correctly for things to work, so
having some in cmake and some in the Android build.sh is just confusing.

This removes the bits from cmake and moves everything into build.sh.

Signed-off-by: Anton Lundin <glance@acc.umu.se>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-12-02 09:20:50 -08:00
Dirk Hohndel
05bf480e2e CMake hack to build Subsurface-mobile on Mac
With this running

	make && make install

should give you a Subsurface-mobile.app that you can execute (either with
double click or using "open Subsurface-mobile.app" from the command line).

This contains a couple of hacks but I didn't try too hard to make this clean
since Tomaz is redoing the CMake build system, anyway and I'll need to make
sure this still works once he's done.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-11-30 15:06:18 -08:00
Dirk Hohndel
2c77aa5519 Cmake: fix building of Subsurface-mobile on Mac
The error message was completely useless, but it turned out to be an issue of
the order of arguments to add_executable().

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-11-24 09:38:51 -08:00
Dirk Hohndel
456cc3955a Location service: move into subsurface-core
While this is primarily something targeted at a mobile device, with many
of the 2 in 1 devices it is possible that the user might be running the
desktop version of Subsurface on a mobile device.

As a first step to make it possible to collect GPS fixes on such a device
we need to make the infrastructure to do so available in the desktop
application as well.

This still needs to be hooked up in the desktop UI.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-11-18 18:34:49 -08:00
Dirk Hohndel
4cf20c3448 Cmake: add SUBSURFACE_MOBILE definition earlier
This way it is set when subsurface-core is built.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-11-18 14:41:47 -08:00
Salvador Cuñat
427c696c70 SmartTrak import - Add build capability to cmake
This enables posibility of building standalone import tool via cmake.
Adds an option SMARTRAK_IMPORT (defaults to OFF) which, if turned ON,
will require glib-2.0 and libmdb libraries to be installed, and, calling
will produce an executable with the highly original name of smtk2ssrf.

I have no capability to cross-compile to windows, so I haven't even
tried to put this in Win, less say in Mac. I expect linux users which
may be actual users of SmartTrak, to test this before trying to build on
windows, although the target public will probably be the windows users (or
at least, ex windows user).

Signed-off-by: Salvador Cuñat <salvador.cunat@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-11-12 07:39:18 -08:00
Dirk Hohndel
9195f247c4 Location service: move files around to fit new directory layout
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-11-11 12:37:57 -08:00
Dirk Hohndel
136b87e7c0 Location service: Add GPS location infrastructure for Subsurface-mobile
This doesn't do a thing - just adds the empty class and sets up the Cmake
file so it finds the required Qt components for Subsurface-mobile.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-11-11 12:36:49 -08:00
Miika Turkia
77d7e773b9 Enable BT compilation earlier
Commit ba55c60395 broke Bluetooth
support for me. This patch moves the setting of BT_SUPPORT earlier,
re-enabling BT download option on the download dialog.

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-11-10 09:10:04 -08:00
Tomaz Canabrava
c71df5baa5 Don't rely on CMAKE_AUTOUIC
Some old CMakes that we use had problems with it, change to use
the qt5_wrap_ui macro that's bundled with Qt.

Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-11-09 18:00:56 -08:00
Tomaz Canabrava
66091ff853 Remove Facebook from Plugins
Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-11-09 18:00:56 -08:00
Tomaz Canabrava
4ddf4f6d83 Removed C++11 from the code.
Make Dirk ungrumpy

Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-11-08 16:33:34 -08:00
Dirk Hohndel
761c3e4718 Revert "Mac: don't use C++11 on older clang versions"
This reverts commit acb74f25f7.

Better not enable it anywhere
2015-11-08 16:33:19 -08:00
Dirk Hohndel
871f585f42 Make building plugins optional
This currently fails at least on my old Mac that I use to create binaries
that work on 10.7 and newer.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-11-08 16:31:38 -08:00
Dirk Hohndel
acb74f25f7 Mac: don't use C++11 on older clang versions
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-11-08 15:34:15 -08:00
Sebastian Kügler
aae4a326f4 organize qml files in subdirectories
This makes the organization of the qml files a bit more fine-grained, it
prevents mixing of .cpp and QML files, and also of what's compiled, and
what's included in the app as qrc data.

In particular:
- subsurface specific QML items go into the qml/ subdirectory
- theme and unit definitions to into qml/theme subdirectory (they
  already were located in a theme directory)
- generic components, such as our Label goes into qml/components

This facilitates sharing of functionality and identifying common stuff
better. Ideally, we can pull qml/theme and qml/components from a
standardized set at some point, so we don't have to maintain that code.

Signed-off-by: Sebastian Kügler <sebas@kde.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-11-07 09:00:59 -08:00
Dirk Hohndel
b76d3fa25f Better file names for Subsurface-mobile related sources
They aren't Android specific - they are for the QML UI mobile app which
should run on iOS as well.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-11-06 13:44:13 -08:00
Dirk Hohndel
06e65e4c02 Cmake: untangle subsurface and subsurface-mobile
In the cmake restructuring it seems that subsurface-mobile building got
completely messed up. With this subsurface-mobile still doesn't actually
build (still too many unfulfilled dependencies, but we're getting closer).

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-11-05 15:06:10 -08:00
Rex Dieter
fcf47552c6 Use target_link_libraries for Grantlee
This allows for finding headers when not in /usr/include (like
parallel-installable distribution-packaged grantlee5)

Signed-off-by: Rex Dieter <rdieter@fedoraproject.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-11-05 13:45:50 -08:00
Dirk Hohndel
ba55c60395 Cmake: fix BT definition
This was set twice, the first time before we checked that we have a new
enough Qt version installed.

Also fixed a typo.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-11-03 09:20:47 -08:00
Tomaz Canabrava
53a5f6d7a4 Make code compile in gnu11 and c++11
This is to make it possible to use some nice to have features of
c11 and c++11 like range based loops, delete default functions,
auto variable assignment. Talked to Dirk about this and he is ok
with the change, but he also states that he will not accept lambdas

Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-10-30 10:36:51 -07:00
Tomaz Canabrava
7cd9e2b7bb Make icons work again
Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-10-30 10:36:50 -07:00
Tomaz Canabrava
225ac07005 Clear the main CMake file
A bit of dust was setting here, when I moved tons of things around
I forgot to remove some bits.

Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-10-30 10:36:49 -07:00