Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/arl/macdeployqtfix
To bundle a Qt application on Mac OSX, there is macdeployqt. To finish the job there is macdeployqtfix! :white_check_mark:
https://github.com/arl/macdeployqtfix
mac-osx macdeployqt qt qt-libs
Last synced: 4 days ago
JSON representation
To bundle a Qt application on Mac OSX, there is macdeployqt. To finish the job there is macdeployqtfix! :white_check_mark:
- Host: GitHub
- URL: https://github.com/arl/macdeployqtfix
- Owner: arl
- License: mit
- Created: 2015-08-16T09:29:34.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2024-10-17T05:54:22.000Z (3 months ago)
- Last Synced: 2025-01-07T16:08:30.422Z (11 days ago)
- Topics: mac-osx, macdeployqt, qt, qt-libs
- Language: Python
- Homepage:
- Size: 19.5 KB
- Stars: 62
- Watchers: 9
- Forks: 25
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# macdeployqtfix
To bundle a **Mac OSX** application dynamically linked with **Qt**, there is
`macdeployqt`.
To **finish the job** there is `macdeployqtfix`...### What does 'Finish the job' mean?
- Find dependencies and [rpaths](https://en.wikipedia.org/wiki/Rpath) of :
- the main binary of the bundle (i.e your app)
- the dependencies of your app, and their dependencies, and their... (you got
it!)
- the plugins present in the bundle
- Copy into the bundle the **missing** QT libs on which your app depends, that
should normally have been taken care of by *macdeployqt*
- Fix incorrect permissions
- Fix incorrect *rpaths*### Prerequisites
`macdeployqtfix` relies on `otool` and `install_name_tool` being on the `PATH`
### Usage
:exclamation: Use `macdeployqt` first, then call `macdeployqtfix`
```
$ python macdeployqtfix.py -h
usage: macdeployqtfix.py [-h] [-q] [-nl] [-v] exepath qtpathfinish the job started by macdeployqt!
- find dependencies/rpaths with otool
- copy missed dependencies with cp and mkdir
- fix missed rpaths with install_name_toolexit codes:
- 0 : success
- 1 : error
positional arguments:
exepath path to the binary depending on Qt
qtpath path of Qt libraries used to build the Qt applicationoptional arguments:
-h, --help show this help message and exit
-q, --quiet do not create log on standard output
-nl, --no-log-file do not create log file './macdeployqtfix.log'
-v, --verbose produce more log messages(debug log)```
#### Example usage
Let's say that:
- your Qt application is named `APP`
- the bundle is located at `/path/to/bundle/`
- the path to those Qt libs used to build your app is `/usr/local/Cellar/qt5/5.5.0/`1. Run `macdeployqt` first, as they say in [the doc](http://doc.qt.io/qt-5/osx-deployment.html)
2. Finish the job by calling:```
python macdeployqtfix.py /path/to/bundle/Contents/MacOS/APP /usr/local/Cellar/qt5/5.5.0/
```