summaryrefslogtreecommitdiffstats
path: root/subsurface-gen-version.pri
AgeCommit message (Collapse)Author
2015-01-01Try to bring some sanity into our version stringsGravatar Dirk Hohndel
VERSION_STRING is the one most appropriate for the target OS GIT_VERSION_STRING is the full version string with the git hash CANONICAL_VERSION_STRING is major.minor.submior.number_of_commits Mac allows only three components to the version Windows allows four Linux doesn't care This way we always know the full git hash (unless tagged or from tar) AND we can always have a version that can be easily compared / sorted. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-02Ubuntu packaging: get git version without including the full git treeGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-10-29Create better version numbering for WindowsGravatar Dirk Hohndel
I don't think this will be a problem for the other OSs, but it needs a bit more testing, especially on the Mac. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-08-21make clean should also remove ssrf-version.hGravatar Dirk Hohndel
Regardless if we are building from git or from a tar file. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-01-21Fix building in git shallow clonesGravatar Anton Lundin
If we are building from a shallow clone, just guess the version based on whats hard-coded in VERSION and append a -git to show thats it somwhere behind that. Signed-off-by: Anton Lundin <glance@acc.umu.se> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-12-03qmake: use real tabs for all .pri filesGravatar Lubomir I. Ivanov
subsurface.pro already useses that. For consistency with the app, we use swap 4 spaces with a tab character for indentation. Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-12-03qmake: fix a 'GIT_DIR' issueGravatar Lubomir I. Ivanov
"'GIT_DIR' is not recognized as an internal or external command", is reported if qmake is runned on Win32. To solve that we set a explicit syntax for Win32 that uses "Set.." Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-11-05Create installer with qmakeGravatar Dirk Hohndel
This is seriously flawed. makensis is run twice for some reason. I also noticed that the data and xslt directories under packaging/windows aren't created when running make install. Running make -f Makefile.Release install_marbledir install_deploy works, but obviously this should be taken care of by the dependency. The installed binary under Windows is not finding its icon, the translations are missing... lots of work left to do here. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-10-16Set GIT_DIR when calling out to Git from the MakefileGravatar Thiago Macieira
This is necessary for out-of-source builds to work. Signed-off-by: Thiago Macieira <thiago@macieira.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-10-15Use git rev-parse --symbolic-full-name to get the HEAD target refGravatar Thiago Macieira
This will prevent us trying to depend on a file that doesn't exist in case someone goes on a detached HEAD. For example, this could happen during a bisect. (detached head) $ git rev-parse --symbolic-full-name HEAD HEAD (master) $ git rev-parse --symbolic-full-name HEAD refs/heads/master This will break on a packed ref, though. Signed-off-by: Thiago Macieira <thiago@macieira.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-10-15Dependencies are too aggressive for version.hGravatar Dirk Hohndel
Apparently qmake can't tell that #include "version.h" and #include "libdivecomputer/version.h" are not the same thing. Instead of spending another bunch of hours on fixing the buildsystem I decided to just cleanup the spots where we actually use the version file and rename it to ssrf-version.h. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-10-15Make sure version.h is updated whenever the git version changesGravatar Dirk Hohndel
The easiest way to do this seems to make it depend on the correct git reference. qmake will do the right thing (and create a fixed version.h based on the VERSION variable) if the user is working from a tar ball. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-10-15Get the version at make time, not qmake timeGravatar Dirk Hohndel
Let's see how many tries it will take me to get this one right... The name of the .dmg needs to be determined when running make, not qmake. Otherwise we'd have to force the user to run qmake every time version.h changes. This looks better. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-10-14Actually get the correct full version for DMGGravatar Dirk Hohndel
This is what I get for trying to be smart and pushing a change from the Linux box because the fix was 'obvious'. Duh. It was not. In order to get the real full version including the git hash we always have to pass 'linux' to the gen-version script, even on a Mac. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-10-14Use full version for Mac dmg fileGravatar Dirk Hohndel
Only tagged releases should get the short version number. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-10-10subsurface-gen-version.pri: pass the current OS to get-versionGravatar Lubomir I. Ivanov
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>
2013-10-08Implement a qmake-based build for SubsurfaceGravatar Thiago Macieira
This is working for me, but requires a bit more testing. To build, run: qmake [options] Where options might be: V=1 disable "silent" build LIBDCDEVEL=1 use side-by-side libdivecomputer INCLUDEPATH+=xxx add -Ixxx (e.g., INCLUDEPATH+=/usr/local/marble/include) LIBS+=xxx add xxx to the linker flags (e.g. LIBS+=-L/usr/local/marble/lib) or any other qmake option, including debug and release options If your distribution is already using qtchooser in place of qmake, you may need to pass an extra option to qmake to select the a cross-build. For example: qmake -qt=i686-w64-mingw32-qt4 If your distribution is not yet using qtchooser, then you need to file a bug report requesting it and you need to run the full path to qmake. Note: - there are some ### left in the buildsystem Signed-off-by: Thiago Macieira <thiago@macieira.org>