Skip to content

Instantly share code, notes, and snippets.

@hatchetation
Last active August 29, 2015 14:18
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save hatchetation/c074b24bdb8795e72c83 to your computer and use it in GitHub Desktop.
Save hatchetation/c074b24bdb8795e72c83 to your computer and use it in GitHub Desktop.
Building pixelpulse2 for OS X

Building Pixelpulse2

OS X

Prerequisites

  1. Install Qt 5.4 https://www.qt.io/download-open-source/
  2. Install libusb: brew install --build-from-source libusb
  3. Get qt in your path: export PATH="${HOME}/Qt/5.4/clang_64/bin:${PATH}"

Process

  1. git clone --recursive https://github.com/analogdevicesinc/pixelpulse2
  2. Modify pixelpulse2.pro, moving PKGCONFIG += libudev to unix:!osx.
  3. mkdir pixelpulse2/build && cd pixelpulse2/build
  4. qmake .. (this throws an error for me, but can proceed with other steps OK. See Gotchas, below)
  5. make
  6. 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.

Gotchas

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:

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)\\\""'
@hatchetation
Copy link
Author

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.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment