From 57994fa7a19ece18ffbecfabd69216190f62e425 Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Sun, 6 Oct 2013 23:12:59 -0700 Subject: [PATCH] And let qmake create the Mac bundle on its own It will even parse the Info.plist.in file for us and run sed on it. Signed-off-by: Thiago Macieira --- packaging/macosx/Info.plist.in | 2 +- subsurface.pro | 26 +++++++++++++++++++++++--- 2 files changed, 24 insertions(+), 4 deletions(-) diff --git a/packaging/macosx/Info.plist.in b/packaging/macosx/Info.plist.in index a623303a1..5e094401a 100644 --- a/packaging/macosx/Info.plist.in +++ b/packaging/macosx/Info.plist.in @@ -17,6 +17,6 @@ CFBundleInfoDictionaryVersion 1.0 CFBundleVersion - CFBUNDLEVERSION_TOKEN + @SHORT_VERSION@ diff --git a/subsurface.pro b/subsurface.pro index f3c0d12ca..a04281941 100644 --- a/subsurface.pro +++ b/subsurface.pro @@ -3,6 +3,9 @@ include(subsurface-configure.pri) QT = core gui network webkit svg INCLUDEPATH += qt-ui $$PWD +mac: TARGET = Subsurface +else: TARGET = subsurface + VERSION = 3.1 HEADERS = \ @@ -127,13 +130,30 @@ all.depends += doc QMAKE_EXTRA_TARGETS += doc all DESKTOP_FILE = subsurface.desktop -ICON = subsurface-icon.svg +mac: ICON = packaging/macosx/Subsurface.icns +else: ICON = subsurface-icon.svg MANPAGE = subsurface.1 -XSLT_FILES = xslt/*.xslt xslt/*.xsl +XSLT_FILES = xslt DOC_FILES = $$OUT_PWD/Documentation/user-manual.html Documentation/images MARBLEDIR = marbledata/maps -OTHER_FILES += $$DESKTOPFILE $$ICON $$MANPAGE $$XSLT_FILES $$DOC_FILES $$MARBLEDIR +# This information will go into the Windows .rc file and linked into the .exe +QMAKE_TARGET_COMPANY = subsurface team +QMAKE_TARGET_DESCRIPTION = subsurface dive log +QMAKE_TARGET_COPYRIGHT = Linus Torvalds, Dirk Hohndel and others + +# And this is the Mac Info.plist file +# qmake automatically generates sed rules to replace: +# token qmake expansion +# @ICON@ $$ICON +# @TYPEINFO@ first 4 chars of $$QMAKE_PKGINFO_TYPEINFO +# @EXECUTABLE@ $$QMAKE_ORIG_TARGET +# @LIBRARY@ $$QMAKE_ORIG_TARGET +# @SHORT_VERSION@ $$VER_MAJ.$$VER_MIN +QMAKE_INFO_PLIST = packaging/macosx/Info.plist.in + +OTHER_FILES += $$DESKTOPFILE $$ICON $$MANPAGE $$XSLT_FILES $$DOC_FILES $$MARBLEDIR \ + $$QMAKE_INFO_PLIST include(subsurface-gen-version.pri) include(subsurface-install.pri)