aboutsummaryrefslogtreecommitdiffstats
path: root/subsurface-install.pri
AgeCommit message (Collapse)Author
2014-04-21Windows out of tree cross build: stage package in correct folderGravatar Dirk Hohndel
When doing an out of tree build you don't want to stage the package with the source but under your current directory. So let's make sure we distinguish between source and target here... and instead of putting things into packaging/windows they now end up in staging which is much more consistent. And to make my life even easier, the installer .exe ends up in the base dir in which you build the package. Also, we link statically against libdivecomputer, so don't pack the dll. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-03-27Introduce android specific fileGravatar Anton Lundin
This contains a first stab at Subsurface platform interfacing code for Android, and surrounding parts. Signed-off-by: Anton Lundin <glance@acc.umu.se> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-01-28Remove the hack to create most Makefile variables on UnixGravatar Thiago Macieira
I've just discovered, quite by accident, a new undocumented feature of qmake: it can write Makefile variables. So let's use this feature where we can instead of our hack. The only thing is that it prepends an "EXPORT_" prefix, so we can't use it for a variable like $(prefix) that Linux distributions are expected to try to modify during make install. I've verified that the feature remains in Qt 5.x. Signed-off-by: Thiago Macieira <thiago@macieira.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-01-22Fix creating the list of Qt translation files under Qt5Gravatar Thiago Macieira
We were apparently exploiting a bug in qmake for Qt 4. The $$join function in Qt 5 is fixed: it returns a single string, not a list with multiple elements. Instead, we just iterate over the element list. Signed-off-by: Thiago Macieira <thiago@macieira.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-12-27Install Subsurface iconGravatar Miika Turkia
We want to install the Subsurface icon so it can be used e.g. in menus. (Commit ee5d8e3c moved the icons to resources, but the application icon is special case, that should be installed globally.) Signed-off-by: Miika Turkia <miika.turkia@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-12-17Fix broken Linux installGravatar Dirk Hohndel
In commit ca8aee4701f9 ("Move the XSLT files into a Qt resource") we removed a line from the .pri file without removing the trailing '\' from the previous line which caused the following line to be consumed by the assignment - and the dummy target not being added to the EXTRA_TARGETS... Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-12-16Move the XSLT files into a Qt resourceGravatar Thiago Macieira
This means we no longer need to keep them on disk and worry about installing / uninstalling them. They will always be kept in-memory (compressed). Signed-off-by: Thiago Macieira <thiago@macieira.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-12-15Fix install directory for Documentation on MacGravatar Dirk Hohndel
Can't believe I didn't catch that when I did the equivalent fix for Linux a couple of days ago... Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-12-13Correct install path for Documentation under LinuxGravatar Dirk Hohndel
One could argue that /usr/share/doc/subsurface is indeed correct, but we look for the user-manual.html in /usr/share/subsurface/Documentation Fixes #363 Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-12-12Don't install the actual icon filesGravatar Thiago Macieira
They are loaded into a Qt resource and always accessed via it. [Dirk Hohndel: had to hand edit / apply the changes to the .pri file] Signed-off-by: Thiago Macieira <thiago@macieira.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-12-07correctly install translations after a clean checkoutGravatar Martin Gysel
Signed-off-by: Martin Gysel <me@bearsh.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-12-06Fix the Windwos installerGravatar Dirk Hohndel
Install the Documentation and include it in the installer. Try and get all the directories and files removed in the uninstaller. Where the heck does 'oldshare' come from? Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-12-05Install Qt and Subsurface translations for WindowsGravatar Thiago Macieira
Dirk had done most of the work already. I just needed to add some trickery to install the system translations in case cross-mingw32 didn't provide it. Signed-off-by: Thiago Macieira <thiago@macieira.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-12-05Install Subsurface translation files on LinuxGravatar Thiago Macieira
This was the easiest: all the file names are already in a variable and we don't need to install the Qt translations since we're using a system Qt. Signed-off-by: Thiago Macieira <thiago@macieira.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-12-05Fix typo introduced accidentally: marbledir has no hGravatar Thiago Macieira
Signed-off-by: Thiago Macieira <thiago@macieira.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-12-05Avoid copying the icons, xslt and other dirs into themselves.Gravatar Thiago Macieira
The install rule that qmake generates was of the form: -$(INSTALL_DIR) icons packaging/windows/icons The first time you run make install, packaging/windows/icons doesn't exist, so /usr/bin/install understands it as the name to be given to the dir being installed. However, when you run make install a second time, /usr/bin/install understands it as the target directory, so it copies icons into the packaging/windows/icons dir. We need to teach qmake not to add the dir name. Inspecting the source code reveals: if(fi.isDir() && project->isActiveConfig("copy_dir_files")) { if(!dst_file.endsWith(Option::dir_sep)) dst_file += Option::dir_sep; dst_file += fi.fileName(); } This option is enabled by default on all the win32-* targets. So if we remove the "copy_dir_files" config, it won't append the source name. The qmake manual says this about that option: "Enables the install rule to also copy directories, not just files.", which doesn't help us much. Probably just stale documentation. Fixes #325 Signed-off-by: Thiago Macieira <thiago@macieira.org> 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 unescaped backslashes issuesGravatar Lubomir I. Ivanov
We need to espace the backslash with '\\' on win32. Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-11-29Make sure Subsurface will find Marble theme when installed on LinuxGravatar Dirk Hohndel
We need the marble data to go into a subdirectory of /usr/share/subsurface and we need to search for both data and marbledata when trying to find the theme. Fixes #310 Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-11-27Fix plugin deployment on WindowsGravatar Thiago Macieira
And increase our list of plugins to be deployed to include the GIF and SVG image plugins, the SVG icon engine and the CJK text codecs. The install rules now iterate over the plugin list and deploy the plugins in the right path in the staging area. The plugins must also be scanned for dependencies (Fedora's qjpeg4.dll depends on libjpeg-62.dll, which neds to be copied to the staging area). Finally, fix qt.conf needed to be fixed. Signed-off-by: Thiago Macieira <thiago@macieira.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-11-27Fix "make install" on Windows with srcdir != builddirGravatar Thiago Macieira
Signed-off-by: Thiago Macieira <thiago@macieira.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-11-15Include icons in the Windows installerGravatar Dirk Hohndel
Also fix the dependency / ordering issue with running makensis Fixes #252 Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-11-15Make qmake generate the install rule for user-manual.htmlGravatar Thiago Macieira
The default behaviour is to skip files that don't exist. It does that to decide whether to create an $(INSTALL_FILE) rule or an $(INSTALL_DIR) one. We need to add a setting so that it will ignore the not-found error. Found in Qt 4's own doc/doc.pri: # Install rules htmldocs.files = $$QT_BUILD_TREE/doc/html htmldocs.path = $$[QT_INSTALL_DOCS] htmldocs.CONFIG += no_check_exist directory Signed-off-by: Thiago Macieira <thiago@macieira.org> 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-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-13subsurface-install.pri: attempt to fix the perl command lineGravatar Lubomir I. Ivanov
\$^ or $(DESTDIR_TARGET) do not expand for some reason, but also we cannot use $$DESTDIR, $$TARGET, or $$DESTDIR_TARGET because these are empty. So what we use is a hardcoded path (debug/release) and a target with an .exe suffix on win32. Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-10-11Install qt translations into Mac bundleGravatar Dirk Hohndel
This is much harder than it should be... Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-10-11Fix deployment: make isn't expanding $(DESTDIR_TARGET) for meGravatar Thiago Macieira
I don't know why. Working around the issue by using $^ (all dependencies) and listing the files to be processed as dependencies for the rule. Signed-off-by: Thiago Macieira <thiago@macieira.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-10-11Fix the sed regexp: we want to match "lib" followed by : or at the endGravatar Thiago Macieira
There was one extra backslash that got passed to sed, which meant it matched a literal dollar sign. Signed-off-by: Thiago Macieira <thiago@macieira.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-10-11Fix non-expansion of some Makefile variablesGravatar Thiago Macieira
Apparently SED isn't set on Windows-native Makefiles. And for some reason, $(CC) wasn't getting expanded properly -- it expanded to "cc", even though it is set at the beginning of the Makefile to "gcc". Reported-by: Lubomir I. Ivanov Signed-off-by: Thiago Macieira <thiago@macieira.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-10-11Fix translation compilationGravatar Dirk Hohndel
Now the Makefile should automatically detect when it needs to create a specific .qm file and do the right thing to create it. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-10-10Automatically build translationsGravatar Dirk Hohndel
This runs lrelease against the .ts files and automatically recreates the .qm files if any of the .ts files changes. This also moves the .ts files into the translations directory. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-10-10Fix some paths for Mac and add translations to bundleGravatar Dirk Hohndel
'share' is under Subsurface.app - you don't need a 'subsurface' directory under 'share'. This also installs the processed translations. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-10-09Correct Mac bundle pathGravatar Dirk Hohndel
Should be /Applications (plural) Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-10-08Fix the Marble data installation for WindowsGravatar Thiago Macieira
Qt-only Marble expects the data to be on applicationDirPath() + "/data". Signed-off-by: Thiago Macieira <thiago@macieira.org>
2013-10-08Deploy some Qt plugins alongside the binaryGravatar Thiago Macieira
Only implemented for Windows for now. On Mac, macdeployqt copies all imageformat plugins on its own. Signed-off-by: Thiago Macieira <thiago@macieira.org>
2013-10-08Use the $PATH environment variable to pass extra dirs for DLLsGravatar Thiago Macieira
Unix developers, look away... this is how it's done on Windows: the binary loader searches $PATH for the DLLs, so let's reuse the same variable. This simplifies the command-line a little. Signed-off-by: Thiago Macieira <thiago@macieira.org>
2013-10-08Disable the code that tries to find an alternate objdumpGravatar Thiago Macieira
On Linux distros, it seems, objdump is configured to read Windows executables (BFD architecture "pei-i386"), so we don't need to find an alternate / cross-compile version. But leave the code here in case we run into a distro that does things differently. Signed-off-by: Thiago Macieira <thiago@macieira.org>
2013-10-08Add a tool to scan for dependencies on WindowsGravatar Thiago Macieira
Similar to ldd on Linux. Signed-off-by: Thiago Macieira <thiago@macieira.org>
2013-10-08Add qmake rules to install SubsurfaceGravatar Thiago Macieira
This is probably the most complex part of the new buildsystem. This adds the following targets: - Linux: make install - installs to $(prefix) (default: /usr) The install path can be changed during make install time. - Windows: make install - installs Subsurface and its dependencies to packaging/windows. - Mac: make mac-deploy - populates Subsurface.app with the dependencies make install - mac-deploy + install Subsurface.app to /Application make mac-create-dmg - mac-deploy + creates Subsurface-$VERSION.dmg Signed-off-by: Thiago Macieira <thiago@macieira.org>