mac-rom-simm-programmer/PackagingOnMacOSX.md

61 lines
3.2 KiB
Markdown
Raw Normal View History

# 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](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](https://bugreports.qt-project.org/browse/QTBUG-23258) may be necessary.