changeset 256:f649f6066e4d

* OS/X deployment fixes
author Chris Cannam
date Wed, 12 Jan 2011 15:02:11 +0000 (2011-01-12)
parents 12df2232e40a
children f32465eba055
files deploy/osx/deploy.sh easyhg.pro main.cpp
diffstat 3 files changed, 29 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/deploy/osx/deploy.sh	Wed Jan 12 13:08:39 2011 +0000
+++ b/deploy/osx/deploy.sh	Wed Jan 12 15:02:11 2011 +0000
@@ -18,6 +18,31 @@
 echo "Done: check $app.app for sanity please"
 
 echo
+echo "I expect you to have already copied QtCore, QtNetwork and QtGui to "
+echo "$app.app/Contents/Frameworks and PyQt4/QtCore.so and PyQt4/QtGui.so to "
+echo "$app.app/Contents/MacOS -- expect errors to follow if they're missing"
+echo
+
+echo "Fixing up loader paths in binaries..."
+
+install_name_tool -id QtCore "$app.app/Contents/Frameworks/QtCore"
+install_name_tool -id QtGui "$app.app/Contents/Frameworks/QtGui"
+install_name_tool -id QtNetwork "$app.app/Contents/Frameworks/QtNetwork"
+
+install_name_tool -change QtCore.framework/Versions/4/QtCore @executable_path/../Frameworks/QtCore "$app.app/Contents/MacOS/$app"
+install_name_tool -change QtGui.framework/Versions/4/QtGui @executable_path/../Frameworks/QtGui "$app.app/Contents/MacOS/$app"
+install_name_tool -change QtNetwork.framework/Versions/4/QtNetwork @executable_path/../Frameworks/QtNetwork "$app.app/Contents/MacOS/$app"
+
+install_name_tool -change QtCore.framework/Versions/4/QtCore @loader_path/QtCore "$app.app/Contents/Frameworks/QtGui"
+install_name_tool -change QtCore.framework/Versions/4/QtCore @loader_path/QtCore "$app.app/Contents/Frameworks/QtNetwork"
+
+install_name_tool -change QtCore.framework/Versions/4/QtCore @loader_path/../../Frameworks/QtCore "$app.app/Contents/MacOS/PyQt4/QtCore.so"
+install_name_tool -change QtCore.framework/Versions/4/QtCore @loader_path/../../Frameworks/QtCore "$app.app/Contents/MacOS/PyQt4/QtGui.so"
+install_name_tool -change QtCore.framework/Versions/4/QtCore @loader_path/../../Frameworks/QtGui "$app.app/Contents/MacOS/PyQt4/QtGui.so"
+
+echo "Done: be sure to run the app and see that it works!"
+
+echo
 echo "Making dmg..."
 
 hdiutil create -srcfolder "$app".app "$app"-"$version".dmg -volname "$app"-"$version"
--- a/easyhg.pro	Wed Jan 12 13:08:39 2011 +0000
+++ b/easyhg.pro	Wed Jan 12 15:02:11 2011 +0000
@@ -2,7 +2,8 @@
 CONFIG += release
 
 macx-* {
-    QMAKE_MAC_SDK=/Developer/SDKs/MacOSX10.4u.sdk
+    QMAKE_MAC_SDK = /Developer/SDKs/MacOSX10.4u.sdk
+    QMAKE_LFLAGS_RELEASE += -bind_at_load
     CONFIG += x86 ppc
 }
 
--- a/main.cpp	Wed Jan 12 13:08:39 2011 +0000
+++ b/main.cpp	Wed Jan 12 15:02:11 2011 +0000
@@ -25,6 +25,8 @@
 
 int main(int argc, char *argv[])
 {
+    QApplication app(argc, argv);
+
     QApplication::setOrganizationName("easymercurial");
     QApplication::setOrganizationDomain("easymercurial.org");
     QApplication::setApplicationName(QApplication::tr("EasyMercurial"));
@@ -35,8 +37,6 @@
 
     installSignalHandlers();
 
-    QApplication app(argc, argv);
-
     QTranslator translator;
     QString language = QLocale::system().name();
     QString trname = QString("easyhg_%1").arg(language);