aboutsummaryrefslogtreecommitdiffstats
path: root/subsurface-install.pri
AgeCommit message (Collapse)Author
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>