2 Packaging on Mac OS X
Doug Brown edited this page 2015-05-09 12:41:05 -07:00

Introduction

To start, you need the Qt SDK installed and git for Mac OS X. This is tested on Mac OS X 10.8 Mountain Lion, but probably works on older versions too.

Details

The versions of Qt that are provided are not compiled with i386 support enabled, so compile it yourself with i386 and x86_64 support. I just do this for packaging purposes so older machines can still run the program. Theoretically it should still function on OS X 10.5, although I don't have the ability to test it.

Download the Qt 4.8.3 source code:

http://releases.qt-project.org/qt4/source/qt-everywhere-opensource-src-4.8.3.tar.gz

Compile and install Qt:

./configure -opensource -release -no-sql-mysql -nomake examples -nomake demos -no-dbus -no-phonon -no-webkit -no-qt3support -no-xmlpatterns -no-multimedia -no-audio-backend -no-phonon-backend -no-svg -no-script -no-scripttools -no-declarative -no-declarative-debug -arch x86 -arch x86_64

Or, if you are doing a 10.4-compatible Universal Binary:

./configure -opensource -release -no-sql-mysql -nomake examples -nomake demos -no-dbus -no-phonon -no-webkit -no-qt3support -no-xmlpatterns -no-multimedia -no-audio-backend -no-phonon-backend -no-svg -no-script -no-scripttools -no-declarative -no-declarative-debug -carbon -universal -sdk /Developer/SDKs/MacOSX10.4u.sdk

make

sudo make install

Grab the Mac ROM SIMM control program:

git clone https://github.com/dougg3/mac-rom-simm-programmer.software.git

If you're making a universal binary for 10.4, edit ROMSIMMFlasher.pro inside the checked-out directory, remove x86_64 from macx:CONFIG, and put ppc in its place.

Grab my custom fork of QextSerialPort:

git clone https://github.com/dougg3/doug-qextserialport-linuxnotifications.git

Set up Qt Creator

  • Open Qt Creator (we're going to add the newly-compiled Qt to the list of Qt versions)
  • Go to Preferences->Build & Run->Qt Versions->Add
  • Because the OS X file chooser will not let you get into /usr/local, you need to cheat to get it to show it...
    • Switch to the Finder for a moment, go to Go->Go to Folder... and open up /usr/local
    • Drag the Trolltech folder to the file selection window in Qt Creator
    • Now navigate to your installed qmake executable (/usr/local/Trolltech/Qt-4.8.3/bin/qmake) and pick it

Build the project

  • Open the project (mac-rom-simm-programmer.software/ROMSIMMFlasher.pro) in Qt Creator
  • It will ask you to create build configurations. Choose Create Build Configuration: manually
  • Only check the Release version of your custom Qt 4.8.3 install
  • Go to Build->Build All to build the executable

Deploy the program

Now the program is built, so convert it to a deployable standalone application...

/usr/local/Trolltech/Qt-4.8.3/bin/macdeployqt ../ROMSIMMFlasher-build-desktop-Qt_4_8_3__Qt-4_8_3__Release/SIMMProgrammer.app/

All done

Now it's ready for users!

Note: If I ever have to use more of the Qt libraries (such as WebKit), patches available on this bug report may be necessary.