summaryrefslogtreecommitdiffstats
path: root/subsurface-install.pri
AgeCommit message (Collapse)Author
2014-12-31Allow overriding makensis programGravatar Dirk Hohndel
For cross building Windows binaries Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-10Updates to Ubuntu package building processGravatar Dirk Hohndel
Marble can't be static, so instead we build a shared library but give it a different name so it can be installed in parallel with the "real" libmarblewidget.so. Also make sure that the correct libusb is installed so that Atomics Aquatics dive computers are supported. Fixes #782 Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-10-29Ugly hack to work around broken Qt5.3.2 for Windows cross buildsGravatar Dirk Hohndel
Checking this in to make sure I don't end up creating broken installers again. I doubt that this is useful for anyone but me - but then, I don't think anyone but me creates Windows installers. Background - when Fedora 20 updated the cross-built version of Qt for Win64 something broke. Subsurfae installed with those DLLs will crash. Replacing the older 5.3.1 DLLs fixes this for now, so I have a directory with just those DLLs and simply replace them in the staging directory before calling makensis. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-10-29Don't install Windows 64bit binaries on 32bit systemGravatar Dirk Hohndel
Also warn people installing 32bit binaries on a 64bit system Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-08-02Allow cross-building 64 bit binaries for WindowsGravatar Dirk Hohndel
This also makes sure that we package the Qt5 translations, not the Qt4 translations. There was an odd issue that somehow a 32bit search path ended up being used by win-dll which resulted in the wrong DLLs being packaged. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-06-25Template for subsurface android packageGravatar Venkatesh Shukla
For modifications to the final source code of built android package such as permission additions and inclusion of xml and java files, it is necessary to maintain a template. The template is copied without any modifications on top of qt android-template before building subsurface libraries. Refer: http://qt-project.org/doc/qt-5/deployment-android.html#qmake-variables Files that are required to be directly copied to android package would be included in directory android. Icons for subsurface on android and string.xml are included. Signed-off-by: Venkatesh Shukla <venkatesh.shukla.eee11@iitbhu.ac.in> Signed-off-by: Anton Lundin <glance@acc.umu.se> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-06-08HTML export: fix packaging of theme dirGravatar Dirk Hohndel
I was confused by the function name getSubsurfaceDataPath() - it does not find paths relative to the "data" folder, if finds the path where we might install folders like "data", "translations", or "theme". "data" is for some reason where we install the "marbledata" files. Therefore on both Mac and Windows we need to put the "theme" directory next to the "data" directory, not below it. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-06-05Install HTML export theme files on Windows and MacGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-06-03Update install script: copy HTML theme directory to usr/shareGravatar Gehad elrobey
Updating the qmake file to check and copy the theme directory under usr/share. THIS needs to work on windows and mac. Signed-off-by: Gehad elrobey <gehadelrobey@gmail.com> Signed-off-by: Miika Turkia <miika.turkia@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
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>