aboutsummaryrefslogtreecommitdiffstats
path: root/CMakeLists.txt
AgeCommit message (Collapse)Author
2017-05-27Don't use the deprecated CMake variableGravatar Thiago Macieira
The *_VERSION_STRING variable has been deprecated in Qt since 5.1.0. Use the non-deprecated variable instead (which is not a string). Qt 5.9.0 has a bug in the deprecated variable. Since it's deprecated, it's probably not going to be fixed until 5.9.1. See https://bugreports.qt.io/browse/QTBUG-60936 Signed-off-by: Thiago Macieira <thiago@macieira.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-05-27Android build: Add BUILDTOOLS_REVISIONGravatar Jan Mulder
The used cmake toolkit for building the Android Subsurface-mobile app (qt-android-cmake) recently moved away from compiling with Ant in favor of Gradle. The most recent Android SDK will not support Ant any more. This calls for the addition of the Android SDK BUILDTOOLS_REVISION define to the cmake of Subsurface-mobile. Without this, the build will fail. The value has to be set to an existing directory in .../android-sdk/build-tools/ Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2017-04-01QML UI: we now depend on QuckControls2Gravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-04-01QML UI: Fully port dive edit to Kirigami2Gravatar Marco Martin
Completely adapt to the api changes of OverlaySheet in Kirigami2 in order to achieve the same look and behavior for the dive edits that had with kirigami1 Port most components to QtQuickContrls2, except comboboxes in the dive edit sheet that will need a new control type Signed-off-by: Marco Martin <notmart@gmail.com>
2017-03-24Fix double to int truncation in C++ codeGravatar Jeremie Guichard
Wfloat-conversion enabled for C++ part of the code Fix warnings raised by the flag using lrint Original issue reported on the mailing list: The ascent/descent rates are sometimes not what is expected. E.g. setting the ascent rate to 10m/min results in an actual ascent rate of 9m/min. This is due to truncating the ascent rate preference, then effectively rounding up the time to reach each stop to 2s intervals. The result being that setting the ascent rate to 10m/min results in 20s to ascend 3m (9m/min), when it should be exactly 18s. Reported-by: John Smith <noseygit@hotmail.com> Reported-by: Rick Walsh <rickmwalsh@gmail.com> Signed-off-by: Jeremie Guichard <djebrest@gmail.com>
2017-03-09Fix potential double/float to int rounding errorsGravatar Jeremie Guichard
Not using lrint(f) when converting double/float to int creates rounding errors. This error was detected by TestParse::testParseDM4 failure on Windows. It was creating rounding inconsistencies on Linux too, see change in TestDiveDM4.xml. Enable -Wfloat-conversion for gcc version greater than 4.9.0 Signed-off-by: Jeremie Guichard <djebrest@gmail.com>
2017-02-25Move CMake variables printing into a utility macroGravatar Jeremie Guichard
Added cmake_variables_helper.cmake providing 2 helpers - print_variable - print_all_variables Signed-off-by: Jeremie Guichard <djebrest@gmail.com>
2017-02-24Use SUBSURFACE_TEST_DATA definition to point to test data dirGravatar Jeremie Guichard
Update tests with a (compile time) option SUBSURFACE_TEST_DATA, pointing to test data base path. It is needed for cross compilation cases. SUBSURFACE_TEST_DATA is set to SUBSURFACE_SOURCE by default, or configurable via cmake option -DSUBSURFACE_TEST_DATA="...". Signed-off-by: Jeremie Guichard <djebrest@gmail.com>
2017-02-03Fix build breakage with earlier Qt versionsGravatar Dirk Hohndel
In order to get the translations right for Windows we now explicitly pull in a lot more translation files - some of which don't exist in earlier Qt versions. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-01-22QML UI: allow building Subsurface-mobile on desktopGravatar Dirk Hohndel
Since we manually track Kirigami we need to compile the desktopicon.cpp file when not building on Android or iOS. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-01-21Revert "QML UI: build against latest Kirigami"Gravatar Dirk Hohndel
This reverts commit a842e44b685dbb7e34df317a8beacff747cee6bd.
2017-01-16build.sh: if new enough libgit2 is installed, use itGravatar Dirk Hohndel
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-03CMake dependency fixGravatar Dirk Hohndel
With this the auto generated headers should be ready before filtermodels.cpp needs them Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-01-01CMake: more changes to a simple conditionalGravatar Dirk Hohndel
It seems the CMake versions on Linux and Mac disagree about what might be the correct way to use parenthesis in a mixed AND/OR conditional. This may seem overkill, but it made both CMake versions happy. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-01-01Mac build: make std C++ lib hack catch more situationsGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-01-01Mac build: hack to get the correct std C++ lib on LionGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-12-30Start transition from QWebKit to QWebEngineGravatar Robert C. Helling
This removes all references to WebKit if cmake option USE_WEBKIT is enabled. For the user manual it changes it to WebEngine (seems to work for me). Similar for the Facebook connection (minus a reference to a cookie jar). This I could not test at the moment, as I wrote this on a train. Printing does not work, it is a null operation at the moment. Currently, large parts of of the printing code are commented out as there is no direct way to access page elements in WebEngine. It seems this needs to be done via Javascript (with a callback invoked). There is new functionality in WebEngine to render a view to a PDF file but this needs more work (and probably some thoughts towards page breaks). Signed-off-by: Robert C. Helling <helling@atdotde.de>
2016-12-27QML UI: build against latest KirigamiGravatar Dirk Hohndel
But of course this doesn't work, yet. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-09-22Add commented out hack to dump all CMake variablesGravatar Dirk Hohndel
I use this all the time when debugging CMake issues. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-09-22Fix building of Facebook supportGravatar Dirk Hohndel
No idea when this got broken. Fix seems like a hack as that variable should get set in the plugin CMakeLists.txt. But it seems to work, so "whatever". Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-09-22Revert "Add a simple cp2130 libusb driver"Gravatar Dirk Hohndel
This reverts commit 93ef223a3131db838abc7c390ddce3fae8be5f7c.
2016-09-18Add a simple cp2130 libusb driverGravatar Anton Lundin
This adds a simple cp2130 userspace driver. Its probably unusable in the real world but its a great base to build upon. Signed-off-by: Anton Lundin <glance@acc.umu.se> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-28Android build: don't try to bundle libssh2, eitherGravatar Dirk Hohndel
Since we don't link against it, no need to bundle it. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-24Android build: try to create APK that works on Android 7.0Gravatar Dirk Hohndel
It appears that instead of statically linking against ssl/crypto/ssh2, you instead have to dynamically link against it and then bundle the library in the APK. The documentation is not 100% clear and I don't have an Android Nougat device to test this with, so for now this is an attempt. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-18Don't build Kirigami as a libraryGravatar Dirk Hohndel
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-14Don't build kirigami in the source treeGravatar Dirk Hohndel
Instead build it in its own build tree, where it belongs. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-14Use kirigami built in static modeGravatar Marco Martin
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-07-23Fix build (link) on openSUSE builds (maybe due to recent cmake version)Gravatar Guillaume GARDET
Signed-off-by: Guillaume GARDET <guillaume.gardet@free.fr> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-06-23Remove unused cmake flagGravatar Anton Lundin
Signed-off-by: Anton Lundin <glance@acc.umu.se> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-06-23Build Subsurface c++ as c++11 codeGravatar Anton Lundin
With Qt 5.7, they started to require c++11 support, and in 5.6.1 some nullptr's showed up in QtAndroidExtras/qandroidfunctions.h, so now we need to compile our c++ code with c++11 support in our compiler. As Thiago pointed out, this effectively "downgrades" GCC 6 from c++14 support to c++11. Signed-off-by: Anton Lundin <glance@acc.umu.se> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-04Move subsurface-core to core and qt-mobile to mobile-widgetsGravatar Dirk Hohndel
Having subsurface-core as a directory name really messes with autocomplete and is obviously redundant. Simmilarly, qt-mobile caused an autocomplete conflict and also was inconsistent with the desktop-widget name for the directory containing the "other" UI. And while cleaning up the resulting change in the path name for include files, I decided to clean up those even more to make them consistent overall. This could have been handled in more commits, but since this requires a make clean before the build, it seemed more sensible to do it all in one. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-03-16Debug reminder: how to get more verbose details out of cmakeGravatar Jeroen Massar
Signed-off-by: Jeroen Massar <jeroen@massar.ch> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-03-05Android build: automate setting the right version numberGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-01-08Correctly handle SubsurfaceMobileGravatar Tomaz Canabrava
Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-01-08Untangle Library LinkageGravatar Tomaz Canabrava
with the adittion of gpslistmodel/location, the libraries qt-models had a direct dependency on subsurface-core, and subsurface-core had a direct dependency on qt-models, this is bad. Moving a bit of code around I'v managed to clean this out, and also to clear a bit of uneeded code (GpsTracker and gpsTracker where basically the same thing.) Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-01-07Create GpsListModel in order to be able to display GPS fixesGravatar Dirk Hohndel
This will allow us to visualize the GPS fixes that are currently stored in the QML UI. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-01-07Don't try to install Grantlee files when building Subsurface-mobile on MacGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-01-04Enable BT_SUPPORT compilation flagGravatar Miika Turkia
We need to enable the BT_SUPPORT compilation flag to get the support built in. Signed-off-by: Miika Turkia <miika.turkia@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-12-30Cmake: only need Marble/Grantlee/Manual for desktop versionGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-12-21Cmake: don't add the BT_SUPPORT define too earlyGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-12-19Cmake: don't use wildcards when deleting debug componentsGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-12-17Cmake: adjust dlllist.cmake to no longer be created on the flyGravatar Dirk Hohndel
Because of this a bunch of variables need to be passed in and the quoting changes in rather subtle ways. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-12-17Cmake: more use of SUBSURFACE_TARGET and more complete macdepoyqt argsGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-12-17Cmake: consistently use SUBSURFACE_TARGET and get the capitalization rightGravatar Dirk Hohndel
Also clean up a bit of the whitespace mess right where I'm making changes Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-12-17Fix CMake to not add Facebook on AndroidGravatar Tomaz Canabrava
Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-12-17Add the correct target on the Android buildGravatar Tomaz Canabrava
The android build could be the Desktop and the Mobile app, we cannot force it to be the mobile. Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-12-17Build on android is a shared libraryGravatar Tomaz Canabrava
Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-12-17Simplify IF for OSX handlingGravatar Tomaz Canabrava
Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-12-16Cmake: bring back the QtXml hack and other Mac changesGravatar Dirk Hohndel
The hack in commit c8be04edad5e ("Mac build: move the QtXml hack into Cmake") had been lost in the latest cmake rewrite. Similarly, the modified BUNDLE info and the manual QML deployment. Strangely this still doesn't correctly create a Subsurface-mobile.app on Mac. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-12-16Cmake: indentation fixGravatar Dirk Hohndel
I split this out as separate commit so that the previous commit becomes easier to read. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>