From 4babcabf2068e4da5297d95b1a577dacbfc5303f Mon Sep 17 00:00:00 2001 From: Eike Ziller <eike.ziller@digia.com> Date: Wed, 19 Jun 2013 18:39:29 +0200 Subject: [PATCH] Make it possible to build Qt Creator installers on Mac too Change-Id: Ic3e6f773cb0c2c41f83c6f8d54ed4e0151c69b40 Reviewed-by: Eike Ziller <eike.ziller@digia.com> --- .../meta/installscript.qs | 2 +- qtcreator.pro | 15 ++++++++++++++- scripts/makedmg.sh | 2 +- scripts/packageIfw.py | 2 +- 4 files changed, 17 insertions(+), 4 deletions(-) diff --git a/dist/installer/ifw/packages/org.qtproject.qtcreator.application/meta/installscript.qs b/dist/installer/ifw/packages/org.qtproject.qtcreator.application/meta/installscript.qs index a0301e37fc5..bc669be7bbc 100644 --- a/dist/installer/ifw/packages/org.qtproject.qtcreator.application/meta/installscript.qs +++ b/dist/installer/ifw/packages/org.qtproject.qtcreator.application/meta/installscript.qs @@ -57,7 +57,7 @@ Component.prototype.beginInstallation = function() else if (installer.value("os") == "x11") component.qtCreatorBinaryPath = component.qtCreatorBinaryPath + "/bin/qtcreator"; else if (installer.value("os") == "mac") - component.qtCreatorBinaryPath = "\"" + component.qtCreatorBinaryPath + "/Qt Creator.app/Contents/MacOS/Qt Creator\""; + component.qtCreatorBinaryPath = component.qtCreatorBinaryPath + "/Qt Creator.app/Contents/MacOS/Qt Creator"; if ( installer.value("os") === "win" ) { component.setStopProcessForUpdateRequest(component.qtCreatorBinaryPath, true); diff --git a/qtcreator.pro b/qtcreator.pro index 0836cf0685e..b123645dca5 100644 --- a/qtcreator.pro +++ b/qtcreator.pro @@ -50,6 +50,8 @@ else: PLATFORM = "unknown" PATTERN = $${PLATFORM}$(INSTALL_EDITION)-$${QTCREATOR_VERSION}$(INSTALL_POSTFIX) +INSTALLER_NAME = "qt-creator-$${PATTERN}" + macx { APPBUNDLE = "$$OUT_PWD/bin/Qt Creator.app" BINDIST_SOURCE = "$$OUT_PWD/bin/Qt Creator.app" @@ -83,7 +85,18 @@ bindist.commands = 7z a -mx9 $$OUT_PWD/qt-creator-$${PATTERN}.7z \"$$BINDIST_SOU bindist_installer.depends = deployqt bindist_installer.commands = 7z a -mx9 $${INSTALLER_ARCHIVE} \"$$BINDIST_INSTALLER_SOURCE\" installer.depends = bindist_installer -installer.commands = $$PWD/scripts/packageIfw.py -i \"$(IFW_PATH)\" -v $${QTCREATOR_VERSION} -a \"$${INSTALLER_ARCHIVE}\" "qt-creator-$${PATTERN}" +installer.commands = $$PWD/scripts/packageIfw.py -i \"$(IFW_PATH)\" -v $${QTCREATOR_VERSION} -a \"$${INSTALLER_ARCHIVE}\" "$$INSTALLER_NAME" + +macx { + # this should be very temporary: + MENU_NIB = $$(MENU_NIB_FILE) + isEmpty(MENU_NIB): MENU_NIB = "FATAT_SET_MENU_NIB_FILE_ENV" + copy_menu_nib_installer.commands = cp -R \"$$MENU_NIB\" \"$${INSTALLER_NAME}.app/Contents/Resources\" + + codesign_installer.commands = codesign -s \"$(SIGNING_IDENTITY)\" $(SIGNING_FLAGS) \"$${INSTALLER_NAME}.app\" + dmg_installer.commands = hdiutil create -srcfolder "$${INSTALLER_NAME}.app" -volname \"Qt Creator\" -format UDBZ "qt-creator-$${PATTERN}-installer.dmg" -ov -scrub -stretch 2g + QMAKE_EXTRA_TARGETS += codesign_installer dmg_installer copy_menu_nib_installer +} win32 { deployqt.commands ~= s,/,\\\\,g diff --git a/scripts/makedmg.sh b/scripts/makedmg.sh index ba21125c727..5c4f69f3a6f 100755 --- a/scripts/makedmg.sh +++ b/scripts/makedmg.sh @@ -12,7 +12,7 @@ cp -a "${sourceFolder}/" "${intermediateFolder}" ln -s /Applications "${intermediateFolder}" cp "$(dirname "${BASH_SOURCE[0]}")/../LICENSE.LGPL" "${intermediateFolder}/LICENSE_LGPL.txt" echo Creating image... -hdiutil create -srcfolder "${intermediateFolder}" -volname "${title}" -format UDBZ "${finalDMGName}" -ov -scrub -stretch 1g +hdiutil create -srcfolder "${intermediateFolder}" -volname "${title}" -format UDBZ "${finalDMGName}" -ov -scrub -stretch 2g # clean up rm -rf "${intermediateFolder}" diff --git a/scripts/packageIfw.py b/scripts/packageIfw.py index db280cd12fa..aa69e0c3fad 100755 --- a/scripts/packageIfw.py +++ b/scripts/packageIfw.py @@ -88,7 +88,7 @@ def main(): installer_name = args[0] config_postfix = '' if sys.platform == 'darwin': - installer_name = installer_name + '.dmg' + config_postfix = '-mac' if sys.platform.startswith('win'): config_postfix = '-windows' if sys.platform.startswith('linux'): -- GitLab