fix-rpaths.sh connect zlib and boost libs
This commit is contained in:
26
.github/workflows/scripts/mac/fix-rpaths.sh
vendored
26
.github/workflows/scripts/mac/fix-rpaths.sh
vendored
@@ -10,23 +10,35 @@ add_rpath_to_app() {
|
||||
connect_dylib_in_app() {
|
||||
APP="$1.app/Contents/MacOS/$1"
|
||||
FRAMEWORKS="$1.app/Contents/Frameworks"
|
||||
OLD_SUFFIX=${4:-""}
|
||||
if [ -n "$OLD_SUFFIX" ]; then
|
||||
OLD_SUFFIX=".${OLD_SUFFIX}"
|
||||
fi
|
||||
NEW_SUFFIX=${5:-""}
|
||||
if [ -n "$NEW_SUFFIX" ]; then
|
||||
NEW_SUFFIX=".${NEW_SUFFIX}"
|
||||
fi
|
||||
|
||||
# Connect the executable to the bundled dylib:
|
||||
install_name_tool -change "$2/$3.$4.dylib" "@rpath/$3.$5.dylib" "$APP"
|
||||
install_name_tool -change "$2/$3$OLD_SUFFIX.dylib" "@rpath/$3$NEW_SUFFIX.dylib" "$APP"
|
||||
# Connect the other dylibs to the bundled dylib
|
||||
# (This is a safe no-op for other dylibs which don't depend on this dylib
|
||||
# and in cases where the paths don't match exactly)
|
||||
install_name_tool -change "@rpath/$3.$4.dylib" "@rpath/$3.$5.dylib" "$FRAMEWORKS/libsfml-window.2.6.1.dylib"
|
||||
install_name_tool -change "$2/$3.$4.dylib" "@rpath/$3.$5.dylib" "$FRAMEWORKS/libsfml-window.2.6.1.dylib"
|
||||
install_name_tool -change "@rpath/$3.$4.dylib" "@rpath/$3.$5.dylib" "$FRAMEWORKS/libsfml-audio.2.6.1.dylib"
|
||||
install_name_tool -change "$2/$3.$4.dylib" "@rpath/$3.$5.dylib" "$FRAMEWORKS/libsfml-audio.2.6.1.dylib"
|
||||
install_name_tool -change "@rpath/$3.$4.dylib" "@rpath/$3.$5.dylib" "$FRAMEWORKS/libsfml-graphics.2.6.1.dylib"
|
||||
install_name_tool -change "$2/$3.$4.dylib" "@rpath/$3.$5.dylib" "$FRAMEWORKS/libsfml-graphics.2.6.1.dylib"
|
||||
install_name_tool -change "@rpath/$3$OLD_SUFFIX.dylib" "@rpath/$3$NEW_SUFFIX.dylib" "$FRAMEWORKS/libsfml-window.2.6.1.dylib"
|
||||
install_name_tool -change "$2/$3$OLD_SUFFIX.dylib" "@rpath/$3$NEW_SUFFIX.dylib" "$FRAMEWORKS/libsfml-window.2.6.1.dylib"
|
||||
install_name_tool -change "@rpath/$3$OLD_SUFFIX.dylib" "@rpath/$3$NEW_SUFFIX.dylib" "$FRAMEWORKS/libsfml-audio.2.6.1.dylib"
|
||||
install_name_tool -change "$2/$3$OLD_SUFFIX.dylib" "@rpath/$3$NEW_SUFFIX.dylib" "$FRAMEWORKS/libsfml-audio.2.6.1.dylib"
|
||||
install_name_tool -change "@rpath/$3$OLD_SUFFIX.dylib" "@rpath/$3$NEW_SUFFIX.dylib" "$FRAMEWORKS/libsfml-graphics.2.6.1.dylib"
|
||||
install_name_tool -change "$2/$3$OLD_SUFFIX.dylib" "@rpath/$3$NEW_SUFFIX.dylib" "$FRAMEWORKS/libsfml-graphics.2.6.1.dylib"
|
||||
}
|
||||
|
||||
# fix_app <app name>
|
||||
fix_app() {
|
||||
if [ -e "$1.app" ]; then
|
||||
add_rpath_to_app "$1"
|
||||
connect_dylib_in_app "$1" /usr/local/opt/zlib/lib libz "1" "1.3.1"
|
||||
connect_dylib_in_app "$1" /usr/local/opt/boost/lib libboost_system
|
||||
connect_dylib_in_app "$1" /usr/local/opt/boost/lib libboost_filesystem
|
||||
connect_dylib_in_app "$1" /usr/local/opt/sfml/lib libsfml-system "2.6" "2.6.1"
|
||||
connect_dylib_in_app "$1" /usr/local/opt/sfml/lib libsfml-window "2.6" "2.6.1"
|
||||
connect_dylib_in_app "$1" /usr/local/opt/sfml/lib libsfml-audio "2.6" "2.6.1"
|
||||
|
Reference in New Issue
Block a user