functional build on mac os mojave
This commit is contained in:
+57
-5
@@ -9,12 +9,13 @@
|
||||
# of binary-size if you leave Qt out.
|
||||
# (see http://trolltech.com/developer/downloads/qt/mac)
|
||||
|
||||
QT_FW_PATH="/Users/$USER/Qt/5.9/clang_64/lib"
|
||||
QT_PLUGIN_PATH="/Users/$USER/Qt/5.9/clang_64/plugins"
|
||||
QT_FW_PATH="/usr/local/Cellar/qt/5.13.0/lib"
|
||||
QT_PLUGIN_PATH="/usr/local/Cellar/qt/5.13.0/plugins"
|
||||
SDL_FW_PATH="/Library/Frameworks"
|
||||
APPLICATION="./pokerth.app"
|
||||
BINARY="$APPLICATION/Contents/MacOs/pokerth"
|
||||
RESOURCES="$APPLICATION/Contents/Resources"
|
||||
DYLIB_PATH="$APPLICATION/Contents/MacOs/dylibs"
|
||||
|
||||
# strip binary
|
||||
strip $BINARY
|
||||
@@ -23,18 +24,50 @@ cp -R ./data $RESOURCES/
|
||||
find $RESOURCES/data -name ".svn" | xargs rm -Rf
|
||||
# create framework-path
|
||||
BINARY_FW_PATH="$APPLICATION/Contents/Frameworks"
|
||||
mkdir $BINARY_FW_PATH
|
||||
BINARY_PLUGIN_PATH="$APPLICATION/Contents/plugins"
|
||||
|
||||
rm -rf $BINARY_FW_PATH
|
||||
rm -rf $BINARY_PLUGIN_PATH
|
||||
rm -rf $DYLIB_PATH
|
||||
|
||||
mkdir $BINARY_FW_PATH
|
||||
mkdir -p $BINARY_PLUGIN_PATH/imageformats
|
||||
mkdir -p $BINARY_PLUGIN_PATH/sqldrivers
|
||||
mkdir -p $BINARY_PLUGIN_PATH/platforms
|
||||
mkdir -p $DYLIB_PATH
|
||||
|
||||
# integrate SDL-frameworks into binary
|
||||
cp -R $SDL_FW_PATH/SDL.framework $BINARY_FW_PATH
|
||||
cp -R $SDL_FW_PATH/SDL_mixer.framework $BINARY_FW_PATH
|
||||
|
||||
# integrate Qt-frameworks into binary
|
||||
# integrate dylibs
|
||||
cp /usr/lib/libcurl.4.dylib $DYLIB_PATH/.
|
||||
cp /usr/local/opt/openssl/lib/libcrypto.1.0.0.dylib $DYLIB_PATH/.
|
||||
cp /usr/local/opt/openssl/lib/libssl.1.0.0.dylib $DYLIB_PATH/.
|
||||
cp /usr/lib/libsqlite3.dylib $DYLIB_PATH/.
|
||||
cp /usr/local/opt/tinyxml/lib/libtinyxml.dylib $DYLIB_PATH/.
|
||||
cp /usr/local/opt/protobuf/lib/libprotobuf.18.dylib $DYLIB_PATH/.
|
||||
cp /usr/lib/libz.1.dylib $DYLIB_PATH/.
|
||||
|
||||
LIBCURL_LINK=$(otool -L $BINARY | grep libcurl | cut -d"(" -f1 | cut -f2)
|
||||
LIBCRYPTO_LINK=$(otool -L $BINARY | grep libcrypto | cut -d"(" -f1 | cut -f2)
|
||||
LIBSSL_LINK=$(otool -L $BINARY | grep libssl | cut -d"(" -f1 | cut -f2)
|
||||
LIBTINYXML_LINK=$(otool -L $BINARY | grep libtinyxml | cut -d"(" -f1 | cut -f2)
|
||||
LIBSQLITE_LINK=$(otool -L $BINARY | grep libsqlite | cut -d"(" -f1 | cut -f2)
|
||||
LIBPROTOBUF_LINK=$(otool -L $BINARY | grep libprotobuf | cut -d"(" -f1 | cut -f2)
|
||||
LIBZ_LINK=$(otool -L $BINARY | grep libz | cut -d"(" -f1 | cut -f2)
|
||||
|
||||
install_name_tool -change $LIBCURL_LINK @loader_path/dylibs/libcurl.4.dylib $BINARY
|
||||
install_name_tool -change $LIBCRYPTO_LINK @loader_path/dylibs/libcrypto.1.0.0.dylib $BINARY
|
||||
install_name_tool -change $LIBSSL_LINK @loader_path/dylibs/libssl.1.0.0.dylib $BINARY
|
||||
install_name_tool -change $LIBSSL_LINK @loader_path/dylibs/libssl.1.0.0.dylib $APPLICATION/Contents/MacOS/dylibs/libcrypto.1.0.0.dylib
|
||||
install_name_tool -change $LIBTINYXML_LINK @loader_path/dylibs/libtinyxml.dylib $BINARY
|
||||
install_name_tool -change $LIBSQLITE_LINK @loader_path/dylibs/libsqlite3.dylib $BINARY
|
||||
install_name_tool -change $LIBPROTOBUF_LINK @loader_path/dylibs/libprotobuf.18.dylib $BINARY
|
||||
install_name_tool -change $LIBSQLITE_LINK @loader_path/dylibs/libsqlite3.dylib $BINARY
|
||||
install_name_tool -change $LIBZ_LINK @loader_path/dylibs/libz.1.dylib $BINARY
|
||||
|
||||
# integrate Qt-frameworks into binary
|
||||
if [ "$1" != "--without-qt" ] ; then
|
||||
cp $QT_PLUGIN_PATH/imageformats/libqgif.dylib $BINARY_PLUGIN_PATH/imageformats
|
||||
cp $QT_PLUGIN_PATH/imageformats/libqjpeg.dylib $BINARY_PLUGIN_PATH/imageformats
|
||||
@@ -46,6 +79,8 @@ if [ "$1" != "--without-qt" ] ; then
|
||||
cp -R $QT_FW_PATH/QtSql.framework $BINARY_FW_PATH
|
||||
cp -R $QT_FW_PATH/QtNetwork.framework $BINARY_FW_PATH
|
||||
cp -R $QT_FW_PATH/QtPrintSupport.framework $BINARY_FW_PATH
|
||||
cp -R /usr/local/Cellar/qt/5.13.0/lib/QtDBus.framework $BINARY_FW_PATH
|
||||
chmod -R 775 $BINARY_FW_PATH
|
||||
# remove debug versions
|
||||
rm -f $APPLICATION/Contents/Frameworks/QtCore.framework/QtCore_debug
|
||||
rm -f $APPLICATION/Contents/Frameworks/QtCore.framework/QtCore_debug.prl
|
||||
@@ -65,6 +100,9 @@ if [ "$1" != "--without-qt" ] ; then
|
||||
rm -f $APPLICATION/Contents/Frameworks/QtPrintSupport.framework/QtPrintSupport_debug
|
||||
rm -f $APPLICATION/Contents/Frameworks/QtPrintSupport.framework/QtPrintSupport_debug.prl
|
||||
rm -f $APPLICATION/Contents/Frameworks/QtPrintSupport.framework/Versions/5/QtPrintSupport_debug
|
||||
rm -f $APPLICATION/Contents/Frameworks/QtDBus.framework/QtDBus_debug
|
||||
rm -f $APPLICATION/Contents/Frameworks/QtDBus.framework/QtDBus_debug.prl
|
||||
rm -f $APPLICATION/Contents/Frameworks/QtDBus.framework/Versions/5/QtDBus_debug
|
||||
|
||||
# redirect binary to use integrated frameworks
|
||||
QTCORE="QtCore.framework/Versions/5/QtCore"
|
||||
@@ -73,18 +111,20 @@ if [ "$1" != "--without-qt" ] ; then
|
||||
QTSQL="QtSql.framework/Versions/5/QtSql"
|
||||
QTNETWORK="QtNetwork.framework/Versions/5/QtNetwork"
|
||||
QTPRINT="QtPrintSupport.framework/Versions/5/QtPrintSupport"
|
||||
QTDBUS="QtDBus.framework/Versions/5/QtDBus"
|
||||
install_name_tool -id @executable_path/../Frameworks/$QTCORE $BINARY_FW_PATH/$QTCORE
|
||||
install_name_tool -id @executable_path/../Frameworks/$QTGUI $BINARY_FW_PATH/$QTGUI
|
||||
install_name_tool -id @executable_path/../Frameworks/$QTWIDGETS $BINARY_FW_PATH/$QTWIDGETS
|
||||
install_name_tool -id @executable_path/../Frameworks/$QTSQL $BINARY_FW_PATH/$QTSQL
|
||||
install_name_tool -id @executable_path/../Frameworks/$QTNETWORK $BINARY_FW_PATH/$QTNETWORK
|
||||
install_name_tool -id @executable_path/../Frameworks/$QTPRINT $BINARY_FW_PATH/$QTPRINT
|
||||
install_name_tool -id @executable_path/../Frameworks/$QDBUS $BINARY_FW_PATH/$QTDBUS
|
||||
QTCORE_LINK=$(otool -L $BINARY | grep QtCore | cut -d"(" -f1 | cut -f2)
|
||||
QTGUI_LINK=$(otool -L $BINARY | grep QtGui | cut -d"(" -f1 | cut -f2)
|
||||
QTWIDGETS_LINK=$(otool -L $BINARY | grep QtWidgets | cut -d"(" -f1 | cut -f2)
|
||||
QTSQL_LINK=$(otool -L $BINARY | grep QtSql | cut -d"(" -f1 | cut -f2)
|
||||
QTNETWORK_LINK=$(otool -L $BINARY | grep QtNetwork | cut -d"(" -f1 | cut -f2)
|
||||
QTPRINT_LINK=$(otool -L $BINARY_PLUGIN_PATH/platforms/libqcocoa.dylib | grep QtPrintSupport | cut -d"(" -f1 | cut -f2)
|
||||
|
||||
install_name_tool -change $QTCORE_LINK @executable_path/../Frameworks/$QTCORE $BINARY
|
||||
install_name_tool -change $QTGUI_LINK @executable_path/../Frameworks/$QTGUI $BINARY
|
||||
install_name_tool -change $QTWIDGETS_LINK @executable_path/../Frameworks/$QTWIDGETS $BINARY
|
||||
@@ -98,10 +138,22 @@ if [ "$1" != "--without-qt" ] ; then
|
||||
install_name_tool -change $QTWIDGETS_LINK @executable_path/../Frameworks/$QTWIDGETS $BINARY_PLUGIN_PATH/imageformats/libqjpeg.dylib
|
||||
install_name_tool -change $QTCORE_LINK @executable_path/../Frameworks/$QTCORE $BINARY_PLUGIN_PATH/sqldrivers/libqsqlite.dylib
|
||||
install_name_tool -change $QTSQL_LINK @executable_path/../Frameworks/$QTSQL $BINARY_PLUGIN_PATH/sqldrivers/libqsqlite.dylib
|
||||
|
||||
QTDBUS_LINK=$(otool -L $BINARY_PLUGIN_PATH/platforms/libqcocoa.dylib | grep QtDBus | cut -d"(" -f1 | cut -f2)
|
||||
QTPRINT_LINK=$(otool -L $BINARY_PLUGIN_PATH/platforms/libqcocoa.dylib | grep QtPrintSupport | cut -d"(" -f1 | cut -f2)
|
||||
QTZ_LINK=$(otool -L $BINARY_PLUGIN_PATH/platforms/libqcocoa.dylib | grep libz | cut -d"(" -f1 | cut -f2)
|
||||
QTCORE_LINK=$(otool -L $BINARY_PLUGIN_PATH/platforms/libqcocoa.dylib | grep QtCore | cut -d"(" -f1 | cut -f2)
|
||||
QTGUI_LINK=$(otool -L $BINARY_PLUGIN_PATH/platforms/libqcocoa.dylib | grep QtGui | cut -d"(" -f1 | cut -f2)
|
||||
QTWIDGETS_LINK=$(otool -L $BINARY_PLUGIN_PATH/platforms/libqcocoa.dylib | grep QtWidgets | cut -d"(" -f1 | cut -f2)
|
||||
install_name_tool -change $QTCORE_LINK @executable_path/../Frameworks/$QTCORE $BINARY_PLUGIN_PATH/platforms/libqcocoa.dylib
|
||||
install_name_tool -change $QTGUI_LINK @executable_path/../Frameworks/$QTGUI $BINARY_PLUGIN_PATH/platforms/libqcocoa.dylib
|
||||
install_name_tool -change $QTWIDGETS_LINK @executable_path/../Frameworks/$QTWIDGETS $BINARY_PLUGIN_PATH/platforms/libqcocoa.dylib
|
||||
install_name_tool -change $QTPRINT_LINK @executable_path/../Frameworks/$QTPRINT $BINARY_PLUGIN_PATH/platforms/libqcocoa.dylib
|
||||
install_name_tool -change $QTDBUS_LINK @executable_path/../Frameworks/$QTDBUS $BINARY_PLUGIN_PATH/platforms/libqcocoa.dylib
|
||||
install_name_tool -change $QTZ_LINK @loader_path/dylibs/libz.1.dylib $BINARY_PLUGIN_PATH/platforms/libqcocoa.dylib
|
||||
|
||||
QTCORE_LINK=$(otool -L $BINARY_FW_PATH/$QTDBUS | grep QtCore | head -1 | cut -d"(" -f1 | cut -f2)
|
||||
install_name_tool -change $QTCORE_LINK @executable_path/../Frameworks/$QTCORE $BINARY_FW_PATH/$QTDBUS
|
||||
|
||||
QTCORE_LINK=$(otool -L $BINARY_FW_PATH/$QTGUI | grep QtCore | head -1 | cut -d"(" -f1 | cut -f2)
|
||||
install_name_tool -change $QTCORE_LINK @executable_path/../Frameworks/$QTCORE $BINARY_FW_PATH/$QTGUI
|
||||
|
||||
Reference in New Issue
Block a user