Commit graph

377 commits

Author SHA1 Message Date
Patrick Valsecchi
e64501574b Fixed cmake build.
Non parallel build was broken because qthelper.cpp was depending
indirectly on a QT generated file and no cmake dependency was enforcing
the file to be generated before. I've removed the not needed #include
that was introducing this dependency.

In cmake, {FOO STREQUAL ""} is TRUE only if FOO is defined and
empty. Fixed a couple of bad usages.

Made the required libraries actually required in cmake.

From ef5ab90f258c5754d3022a023c28050cbafed3d5 Mon Sep 17 00:00:00 2001
From: Patrick Valsecchi <patrick@thus.ch>
Date: Tue, 24 Feb 2015 08:38:49 +0100
Subject: [PATCH 1/2] Fixed cmake build.

Non parallel build was broken because qthelper.cpp was depending
indirectly on a QT generated file and no cmake dependency was enforcing
the file to be generated before. I've removed the not needed #include
that was introducing this dependency.

In cmake, {FOO STREQUAL ""} is TRUE only if FOO is defined and
empty. Fixed a couple of bad usages.

Made the required libraries actually required in cmake.

Signed-off-by: Patrick Valsecchi <patrick@thus.ch>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-02-24 11:40:54 +01:00
Dirk Hohndel
62999c866f Add LIBGITDEVEL support to CMakeLists.txt
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-02-23 09:31:08 -08:00
Dirk Hohndel
cd545e1075 Add new files to CMakeLists.txt
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-02-23 09:30:56 -08:00
Dirk Hohndel
cae00d9858 Add LIBMARBLEDEVEL support to cmake
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-02-23 09:17:20 -08:00
Linus Torvalds
e287590e4b Start splitting out git repo helper routines
This doesn't actually change any code, but it moves the 'is_git_repo()'
function that is used by both loading and saving into a new git-access.c
file.

This is where I'll start doing remote repo syncing too. Knock wood.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-02-15 06:03:19 -08:00
Patrick Valsecchi
bd9a443793 More tolerant when parsing GPS coordinates.
Refactored the parsing logic to make it more solid (no more guessing) and
more flexible (support more formats).
Added a test for checking that.
Fixed a few warnings.

[Dirk Hohndel: some changes to coding style]

Signed-off-by: Patrick Valsecchi <patrick@thus.ch>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-02-04 10:51:27 -08:00
Patrick Valsecchi
6e5b0ee6db Fix ssrf-version.h generation by cmake.
My previous cmake patch was relying on ssrf-version.h to be generated
correctly by qmake, in the source directory. This one fixes the generation
of this file in the build directory.

Signed-off-by: Patrick Valsecchi <patrick@thus.ch>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-02-03 07:17:18 -08:00
Patrick Valsecchi
7e0ff8c1e4 Fixed CMakeLists.txt to work with Qt5
Signed-off-by: Patrick Valsecchi <patrick@thus.ch>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-02-02 08:00:49 -08:00
Tomaz Canabrava
10fecefddd Move the filters code to it's own file.
We already have a bunch of filters, let's pack them together

Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-11-13 12:01:00 -08:00
John Van Ostrand
8136306911 Added import for Liquivision LVD log files
Support includes cylinder pressures and works for v3.0 log files.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-11-07 13:15:38 -08:00
John Van Ostrand
35df344b03 Added missing files (metrics.cpp and diveshareexportdialog.cpp) to CMakeLists.txt
It now compiles and links properly under cmake.

Signed-off-by: John Van Ostrand <john@vanostrand.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-10-28 14:18:01 -07:00
John Van Ostrand
49401eec0b Finished Cochran dive log import
I fixed up the decode and finished the parse for Cochran EMC, Commander
and Gemini computers. I suspect that this code may only work with files
from certain versions of Cochran Analyst. It works with my own CAN files
and with the samples that came with Analyst v4.01v.

A seemingly arbitrary offset of 0x4914 is needed to access data.
The previous code uses 0x4a14 and 0x4b14. I suspect these are from
different version of Analyst.

[Dirk Hohndel: whitespace cleanup, add files to subsurface.pro, made sure
	       this compiles without the corresponding patch to
	       libdivecomputer (that isn't upstream, yet), cleaned up the
	       usage of structs, removed a few unused variables]

Signed-off-by: John Van Ostrand <john@vanostrand.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-10-27 15:21:19 -07:00
Dirk Hohndel
113ccc18cd Add gaspressures to cmake
Ignoring the fact that cmake is a disgusting pile of crap, let's at least
track the files in our project for the people who want to use it.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-08-27 15:45:12 -07:00
Tomaz Canabrava
537b42e3f7 Add initial skeleton for the Statistics Redesign
The statistics widget is a beast, one of the parts that I dislike most
on the current subsurface implementation. This is the initial work to
change that to something amazing. This first commit adds the first bunch
of files that I think are needed, and the correct setup for the qmake and
cmake buildsystems.

Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-08-25 13:55:23 -07:00
Tomaz Canabrava
fe9e67bfaf Complement the CMakesList.txt with the latest file inclusions.
Just added the missing files to the CMakesList.txt

Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-08-23 08:07:15 -07:00
Tomaz Canabrava
9c2c336628 Fixed compilation for CMake.
Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-06-20 15:41:32 -07:00
Tomaz Canabrava
d95d1735b5 Break picture handling code from C++ to C.
This commit breaks the loading of images that were done in the divelist
into smaller bits. A bit of code refactor was done in order to correct the
placement of a few methods.

ShiftTimesDialog::EpochFromExiv got moved to Exif::epoch dive_add_picture
is now used instead of add_event picture_load_exif_data got implemented
using the old listview code.  dive_set_geodata_from_picture got
implemented using the old listview code.

Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-06-02 23:59:29 -07:00
Tomaz Canabrava
1c34c831a4 Add stub for a widget to show the dive pictures.
This has a few classes: the model is the list of pictures for the current
dive, the delegate is how this pictures will be displayed on screen, the
widget is the collection of delegates, and the DivePictureThumbnailThread
is a worker-thread to generate the thumbnails so the UI will not freeze.

[Dirk Hohndel: added the new files to subsurface.pro]

Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-06-01 15:54:07 -07:00
Tomaz Canabrava
0c6b0334c0 Fix CMake
save-html was not there yet.

Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-05-29 20:37:43 -07:00
Tomaz Canabrava
3750d55665 Fix compilation with CMake.
This changes are only to make CMake compile again after the
addition of the export dialog.

Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-05-22 07:27:47 +09:00
Tomaz Canabrava
6ab05563b3 Move DiveList related methods/classes to own file.
The DiveList classes were a partial mess (and some of it is still in a
messy state). The classes that deal with it where done in 'qtHelpers.h',
the extern global variable in dive.h, a few methods here and there. This
concentrates most - but not all - functions in their own file. The reason
for that is to make the new developer faster when looking for things: if
it's a divecomputer related method, it should be in a single file, not
scattered around.

Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-05-13 09:20:28 +09:00
Tomaz Canabrava
55d010bad8 Moved code around to make possible to compile the C part alone.
The C code should be compilable without the need to compile the Gui part,
too. This is expecially good for unit testing as we can test all the
algorithms without a window appearing out of nowhere.

Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-04-17 08:46:29 -07:00
Tomaz Canabrava
9598462830 Removed the globals 'userid' and 'save_userid_local' variables
This is a preferences setting, it should belong to the preferences
structure.

Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-04-17 08:37:31 -07:00
Tomaz Canabrava
7e1d8724c5 Add the option to specify the LIBDCDEVEL path.
Use cmake .. -DLIBDCDEVEL="../your/library" to specify
where the libdc is, or leave it blank if you have it
installed on the system. you can change the location later
by running ccmake.

Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-04-14 14:49:45 -07:00
Tomaz Canabrava
7b60f96734 Use a list of files instead of filtering for *.c
While filtering for *.c / *.cpp is much smaller, it has the
disvantage of getting garbage on some computers as the devs
tends to create test files around.

Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-04-14 14:35:38 -07:00
Tomaz Canabrava
019edd065f First test case implemented.
This is just a stub test case to show how a test case should be
implemented. every 'private slot' on the test classes will be
automatically executed when you run 'make test' on the terminal,
and a report will be generated with a failure / success.

Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-04-14 11:49:49 -07:00
Tomaz Canabrava
907d8b8fbb Add a CMake based buildsystem for the tests.
This commit adds a CMake based buildsystem for the tests,
it separated the subsurface sources in small libraries to
make testing easyer ( subsurface core, subsurface ui,
subsurface profile, etc. )

There's no test yet, this however produces a compiled
and executable binary *on linux*. This file shouldn't
be needed on any other platform as this is not the main
build system, but the test build system.

Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-04-14 11:49:49 -07:00