MacOS: Replace qrencode executable with dynamically loaded libqrencode.

This commit is contained in:
Felix Kauselmann 2018-03-30 14:40:54 +02:00
parent d9d94b103a
commit 39a626625d
3 changed files with 10 additions and 23 deletions

View File

@ -321,7 +321,11 @@ void ServerConfigDialog::updatePort()
QrEncoder::QrEncoder()
{
#ifdef Q_OS_MACOS
QLibrary encoder(QCoreApplication::applicationDirPath() + "/utils/libqrencode.dylib");
#else
QLibrary encoder("qrencode");
#endif
QRcode_encodeString8bit = (_QRcode_encodeString8bit) encoder.resolve("QRcode_encodeString8bit");
QRcode_free = (_QRcode_free) encoder.resolve("QRcode_free");
}

Binary file not shown.

View File

@ -1,42 +1,25 @@
#!/bin/bash
hash macdeployqt 2>/dev/null || { echo >&2 "Qmake command not available. Please add the bin subfolder of your Qt installation to the PATH environment variable."; exit 1; }
hash macdeployqt 2>/dev/null || { echo >&2 "macdeployqt command not available. Please add the bin subfolder of your Qt installation to the PATH environment variable."; exit 1; }
echo "Preparing apps for release ..."
macdeployqt YACReader.app
macdeployqt YACReaderLibrary.app -qmldir=YACReaderLibrary/qml
macdeployqt YACReaderLibraryServer.app
#TODO: This copies unneeded stuff into the respective apps
#cp -R utils YACReader.app/Contents/MacOS/
#cp -R utils YACReaderLibrary.app/Contents/MacOS/
#cp -R utils YACReaderLibraryServer.app/Contents/MacOS/
mkdir -p YACReaderLibrary.app/Contents/MacOS/utils
cp -L /usr/local/bin/qrencode YACReaderLibrary.app/Contents/MacOS/utils/
#TODO: avoid using fixed paths here. Get the info from otool instead!
cp /usr/local/Cellar/qrencode/3.4.4/lib/libqrencode.3.dylib \
YACReaderLibrary.app/Contents/MacOS/utils
cp /usr/local/opt/libpng/lib/libpng16.16.dylib \
YACReaderLibrary.app/Contents/MacOS/utils
cp dependencies/qrencode/macx/libqrencode.4.0.0.dylib \
YACReaderLibrary.app/Contents/MacOS/utils/libqrencode.dylib
chmod +w YACReaderLibrary.app/Contents/MacOS/utils/*
install_name_tool -change /usr/local/Cellar/qrencode/3.4.4/lib/libqrencode.3.dylib \
@executable_path/utils/libqrencode.3.dylib \
YACReaderLibrary.app/Contents/MacOS/utils/qrencode
install_name_tool -change /usr/local/opt/libpng/libpng16.16.dylib \
@executable_path/utils/libpng16.16.dylib \
YACReaderLibrary.app/Contents/MacOS/utils/qrencode
cp -R release/server YACReaderLibrary.app/Contents/MacOS/
cp -R release/server YACReaderLibraryServer.app/Contents/MacOS/
cp -R release/languages YACReader.app/Contents/MacOS/
cp -R release/languages YACReaderLibrary.app/Contents/MacOS/
cp -R release/languages YACReaderLibraryServer.app/Contents/MacOS/
echo "Copied!"
echo "Done."
#./signapps.sh