- Install Qt 5.4 https://www.qt.io/download-open-source/
- Install libusb:
brew install --build-from-source libusb
- Get qt in your path:
export PATH="${HOME}/Qt/5.4/clang_64/bin:${PATH}"
git clone --recursive https://github.com/analogdevicesinc/pixelpulse2
- Modify
pixelpulse2.pro
, movingPKGCONFIG += libudev
tounix:!osx
. mkdir pixelpulse2/build && cd pixelpulse2/build
qmake ..
(this throws an error for me, but can proceed with other steps OK. See Gotchas, below)make
macdeployqt pixelpulse2.app -dmg -always-overwrite -verbose=2 -qmldir=../pixelpulse2/qml
(assumes that Qt tools are in your path)
- Note that
-qmldir
must be manually specified. Without including the QML, the app will open but no window appears.
When the build directory is a subdirectory of the Pixelpulse2 source dir, qmake
generates the following error, and the icon is not bundled properly:
WARNING: Could not resolve Info.plist: '../../Qt/5.4/clang_64/mkspecs/macx-clang/Info.plist.app'. Check if QMAKE_INFO_PLIST points to a valid file.
With the caveat that I know next to nothing about Qt's build process, discussions which reference this problem seem to imply that the build directory must be at the same level as the source, or qmake
gets confused:
- http://stackoverflow.com/questions/20895398/cant-deploy-qt-5-2-quick-app-to-mac-osx
- http://permalink.gmane.org/gmane.comp.lib.qt.user/15220
- https://bugreports.qt.io/browse/QTBUG-21267
- https://bugreports.qt.io/browse/QTBUG-35431
I was able to move the build dir outside of the pixelpulse2 source directory, with a minor change to the pixelpulse.pro
project file which makes the version sniffing more robust:
-DEFINES += GIT_VERSION='"\\\"$(shell git describe --always --tags --abbrev)\\\""'
+DEFINES += GIT_VERSION='"\\\"$(shell git -C $$PWD describe --always --tags --abbrev)\\\""'
I spent several hours using Pixelpulse (
0.8.0-bd1b982
) built this way, and it seemed to be stable.( Love the product - as a beginner, it's a fantastic tool for exploration. Spent the evening exploring JFET source follower stability - learned so much because of the immediate feedback.)