Commit graph

17 commits

Author SHA1 Message Date
Dirk Hohndel
9383693928 Create installer with qmake
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-11-05 13:05:14 +09:00
Dirk Hohndel
9dbf5a6daa Use full version for Mac dmg file
Only tagged releases should get the short version number.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-10-14 22:39:29 -07:00
Lubomir I. Ivanov
d23266ad51 subsurface-install.pri: attempt to fix the perl command line
\$^ 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-13 11:31:14 -07:00
Dirk Hohndel
d031b54d16 Install qt translations into Mac bundle
This is much harder than it should be...

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-10-11 13:51:03 -07:00
Thiago Macieira
fa532f0f28 Fix deployment: make isn't expanding $(DESTDIR_TARGET) for me
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-11 12:05:22 -07:00
Thiago Macieira
c684df4976 Fix the sed regexp: we want to match "lib" followed by : or at the end
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-11 12:05:07 -07:00
Thiago Macieira
d3aceafdaa Fix non-expansion of some Makefile variables
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-11 12:04:40 -07:00
Dirk Hohndel
2e2212da5f Fix translation compilation
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-11 09:25:46 -07:00
Dirk Hohndel
e3e47b34a1 Automatically build translations
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-10 14:52:56 -07:00
Dirk Hohndel
3b691d5d6e Fix some paths for Mac and add translations to bundle
'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-10 12:42:37 -07:00
Dirk Hohndel
58db3e363a Correct Mac bundle path
Should be /Applications (plural)

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-10-09 13:42:37 -07:00
Thiago Macieira
6c90fa7c64 Fix the Marble data installation for Windows
Qt-only Marble expects the data to be on applicationDirPath() + "/data".

Signed-off-by: Thiago Macieira <thiago@macieira.org>
2013-10-08 23:29:44 -07:00
Thiago Macieira
603d65c961 Deploy some Qt plugins alongside the binary
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-08 23:29:44 -07:00
Thiago Macieira
245e29a72e Use the $PATH environment variable to pass extra dirs for DLLs
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-08 23:29:43 -07:00
Thiago Macieira
9294d5984c Disable the code that tries to find an alternate objdump
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-08 23:29:43 -07:00
Thiago Macieira
2fedb100ca Add a tool to scan for dependencies on Windows
Similar to ldd on Linux.

Signed-off-by: Thiago Macieira <thiago@macieira.org>
2013-10-08 23:29:43 -07:00
Thiago Macieira
9e069371c6 Add qmake rules to install Subsurface
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>
2013-10-08 23:29:43 -07:00