#### Compiling OpenBoard-in-a-Window on macOS 10.12.6 "Sierra" Make sure you have MacPorts (or equivalent) and QT5 installed: - MacPorts https://www.macports.org/ Note: MacPorts include it's own version of QT5. You could try using Fink or Homebrew instead http://www.finkproject.org PATH=/opt/local/bin:$PATH export PATH - QT5 https://www.qt.io/download You should go for the open source users download. I'd sugest installing it on /usr/local/qt Note: I've used this version on "Sierra" PATH=/usr/local/qt/5.12.2/clang_64/bin:$PATH export PATH sudo port install \ libpaper \ openmotif \ libpng \ xorg-libXt \ libsdl \ ffmpeg \ x264 \ libvpx \ libvorbis \ libogg \ libfdk-aac \ libtheora \ libopus \ lame \ libass \ xz \ bzip2 \ openssl \ openssl10 \ wget \ zlib # If you don't use qt.io installer: sudo port install \ quazip \ qt53 \ qt53-mysql-plugin \ qt53-psql-plugin \ qt53-qtbase \ qt53-qtconnectivity \ qt53-qtdeclarative \ qt53-qtdoc \ qt53-qtenginio \ qt53-qtgraphicaleffects \ qt53-qtimageformats \ qt53-qtlocation \ qt53-qtmacextras \ qt53-qtmultimedia \ qt53-qtquick1 \ qt53-qtquickcontrols \ qt53-qtscript \ qt53-qtsensors \ qt53-qtserialport \ qt53-qtsvg \ qt53-qttools \ qt53-qttranslations \ qt53-qtwebkit \ qt53-qtwebkit-examples \ qt53-qtwebsockets \ qt53-qtxmlpatterns \ qt53-sqlite-plugin # More sudo port install \ freetype \ ftgl \ xpdf \ xpdf-tools wget http://webdiis.unizar.es/~spd/openboard/OpenBoard-1.5.4.tar.gz wget http://webdiis.unizar.es/~spd/openboard/OpenBoard-ThirdParty-master.zip wget http://webdiis.unizar.es/~spd/openboard/ob-in-a-window.patch mkdir ob cd ob tar xvzf ../OpenBoard-1.5.4.tar.gz unzip ../OpenBoard-ThirdParty-master.zip mv OpenBoard-ThirdParty-master OpenBoard-ThirdParty # depending on the packages you've installed with MacPorts # you'll need to compile the third party libraries cd OpenBoard-ThirdParty qmake libs.pri cd xpdf qmake xpdf.pro cd xpdf-3.04 ./configure --with-freetype2-includes=/usr/include/freetype2 cd .. make patch -p0 < ../ob-in-a-window.patch cd OpenBoard-1.5.4 env OB_INAWINDOW=yes qmake OpenBoard.pro -spec macx-clang make #### Resulting executable will be #### build/macx/release/product/OpenBoard.app If you want to deploy an application which doesn't depend on installed libraries, you could use something similar to this "bundle.sh" script: --------------------------------------------------------------------------- #!/bin/sh DO= DO=echo # Default: dry-run SRC=$HOME/ob/OpenBoard-1.5.4 APP=build/macx/release/product/OpenBoard.app cd "$SRC/$APP/Contents/MacOS" test -f ../Frameworks || ( mkdir ../Frameworks && chmod 755 ../Frameworks) otool -L * | awk '{print $1}' | fgrep opt/local | while read file do echo "#### $file" lib=`basename $file` $DO cp -p $file ../Frameworks/. $DO install_name_tool -change \ "$file" "@executable_path/../Frameworks/$lib" OpenBoard done QT=/usr/local/qt/5.12.2/clang_64/lib/ otool -L * | awk '{print $1}' | fgrep rpath/Qt | while read file do echo "#### $file" FRAMEWORK=`echo "$file" | awk -F/ '{print $2}'` FRAMEWORKNAME=`echo "$FRAMEWORK" | sed -e 's/\..*//'` FWPATH=`echo "$file" | sed -e "s,@rpath,$QT,"` FWLPATH=`echo "$file" | sed -e "s,@rpath,,"` $DO cp -aR "$QT/$FRAMEWORK" ../Frameworks/. $DO install_name_tool -change \ "$file" "@executable_path/../Frameworks/$FWLPATH" OpenBoard done cd ../Frameworks for dylib in lib*dylib do otool -L $dylib | awk '{print $1}' | fgrep opt/local | while read file do if [ -f $dylib ] then : else $DO cp -p $file ../Frameworks/. fi echo "#### $dylib: $file" lib=`basename $file` set -x $DO install_name_tool -change \ "$file" "@executable_path/../Frameworks/$lib" $dylib done done ---------------------------------------------------------------------------