Turn down warnings with Clang too

Signed-off-by: Thiago Macieira <thiago@macieira.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Small fixes to the build notes for Mac

Use the correct git tree for libdivecomputer.
Only build libmarble, not all of marble
Don't try make install for libmarble - it's bogus
Copy the correct marble headers
Only use sudo to write into /Applications

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Don't set -Wno-maybe-uninitialized for clang

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Correct Mac bundle path

Should be /Applications (plural)

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Now bundle install on the Mac works without sudo

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
subsurface-configure.pri: pkg-config detection change

This is a small change, but it seems to work as expected on both
Linux and Win32. What happens if 2> NUL > NUL is used on Win32
for cmd.exe is that the output of both stdout and stderr seems
to pipe into NUL and pkg-config is always reported as missing.

Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
subsurface-configure.pri: enable the libusb detection stage

The commented out step should work as expected (in theory).

Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
subsurface-configure.pri: add another libxml/libxslt detection stage

libxml and libxslt use custom -config scripts which brake
qmake and make on Win32. The output of executing a .sh or .cmd
script with the same name produces garbled output. The output
of executables with the same name is untested, but a bit excessive
as a solution.

To work around the issue add another detection stage, which checks
if the previous output from (e.g.) xml2-config is empty and try
to use pkg-config instead.

Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
subsurface-configure.pri: add a libiconv dependency

This is a bit crude of a solution, but the Win32 version
of libxml (or at least some versions) seem to require libiconv,
thus we add the library with pkg-config if it is available.

Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Try hard not to link against a shared libdivecomputer

Versioning is wrong. It's not a library shared with other projects. And at
least on Mac and Windows we bundle it with the app, anyway.

Requested-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
We already try to link against libusb anyway

No need for the special case here.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Try to read the libdivecomputer.la file (created by GNU libtool)

Getting dependency information for static libraries requires extra
files. Libtool creates .la files, which are "industry standard". qmake
has its own .prl files, but it can create .la in a pinch if necessary.

This change allows us to get the actual dependency information from
libdivecomputer, without having to guess whether it linked to something
else or not. If it changes in the future, we shouldn't have to do
anything.

Signed-off-by: Thiago Macieira <thiago@macieira.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Make sure we handle untranslated Subsurface correctly

At least on the Mac we otherwise switch to the next language which is not what
the user likely intended.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Next step towards working translations

This may seem like a really odd change - but with this change the Qt tools
can correctly parse the C files (and qt-gui.cpp) and get the context for
the translatable strings right.

It's not super-pretty (I'll admit that _("string literal") is much easier
on the eye than translate("gettextFromC", "string literal") ) but I think
this will be the price of success.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Dismbiguate gettext

Just to make sure there's no confusion - we are NOT calling gettext. We
are calling tr from a gettext like interface.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Add translation files

These were created by converting the exting translations from po to ts
lconvert po/xx_yy.po -o subsurface_xx_yy.ts
and then merging in the new strings
lupdate subsurface.pro

You convert those into .qm files with lrelease and then localization
should work. Of course a good bit of new strings are still untranslated -
and lots of Gtk strings are still included.

This still needs to be included in the build system.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Fixed mix of spaces and tabs in maintab.ui

Signed-off-by: Patrick Valsecchi <patrick@thus.ch>
Added salinity to the Dive Info tab.

Took the opportunity to remove some copy&paste.

Signed-off-by: Patrick Valsecchi <patrick@thus.ch>
subsurface-configure.pri: disable auto-"silent" mode for win32

Certain versions of mingw32-make will try to "CreateProcess"
passing the contents of CC and CXX. On win32, with CONFIG += silent
CC and CXX become composite containing multiple commands
such as "@echo... && gcc", which produces undesired results.

For the time being, do not automatically enable "silent" mode
if the current OS is win32. Possibly a better solution can be
found later on.

Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
subsurface-gen-version.pri: pass the current OS to get-version

We check the current OS and pass it as 'darwin' (osx), 'linux'
or 'win' to the get-version shell script.

Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>