Compare commits
1 Commits
master
...
fixMacGith
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2b6ce83b89 |
48
.github/workflows/mac.yml
vendored
48
.github/workflows/mac.yml
vendored
@ -67,51 +67,3 @@ jobs:
|
|||||||
cd ${GITHUB_WORKSPACE}/build/tests
|
cd ${GITHUB_WORKSPACE}/build/tests
|
||||||
make check
|
make check
|
||||||
|
|
||||||
- name: package Subsurface
|
|
||||||
run: |
|
|
||||||
cd ${GITHUB_WORKSPACE}/build
|
|
||||||
# next build and install Subsurface and then clean up the staging area
|
|
||||||
LIBRARY_PATH=${DIR}/install-root/lib make -j2 install
|
|
||||||
|
|
||||||
# now adjust a few references that macdeployqt appears to miss
|
|
||||||
EXECUTABLE=Subsurface.app/Contents/MacOS/Subsurface
|
|
||||||
for i in libgit2 libGrantlee_TextDocument.dylib libGrantlee_Templates.dylib; do
|
|
||||||
OLD=$(otool -L ${EXECUTABLE} | grep $i | cut -d\ -f1 | tr -d "\t")
|
|
||||||
if [[ ! -z ${OLD} && ! -f Subsurface.app/Contents/Frameworks/$(basename ${OLD}) ]] ; then
|
|
||||||
# copy the library into the bundle and make sure its id and the reference to it are correct
|
|
||||||
cp ${DIR}/install-root/lib/$(basename ${OLD}) Subsurface.app/Contents/Frameworks
|
|
||||||
SONAME=$(basename $OLD)
|
|
||||||
install_name_tool -change ${OLD} @executable_path/../Frameworks/${SONAME} ${EXECUTABLE}
|
|
||||||
install_name_tool -id @executable_path/../Frameworks/${SONAME} Subsurface.app/Contents/Frameworks/${SONAME}
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
# next, replace @rpath references with @executable_path references in Subsurface
|
|
||||||
RPATH=$(otool -L ${EXECUTABLE} | grep rpath | cut -d\ -f1 | tr -d "\t" | cut -b 8- )
|
|
||||||
for i in ${RPATH}; do
|
|
||||||
install_name_tool -change @rpath/$i @executable_path/../Frameworks/$i ${EXECUTABLE}
|
|
||||||
done
|
|
||||||
|
|
||||||
# next deal with libGrantlee
|
|
||||||
LIBG=$(ls Subsurface.app/Contents/Frameworks/libGrantlee_Templates*dylib)
|
|
||||||
for i in QtScript.framework/Versions/5/QtScript QtCore.framework/Versions/5/QtCore ; do
|
|
||||||
install_name_tool -change @rpath/$i @executable_path/../Frameworks/$i ${LIBG}
|
|
||||||
done
|
|
||||||
|
|
||||||
# clean up shared library dependency in the Grantlee plugins
|
|
||||||
GRANTLEE_VERSION=$(basename Subsurface.app/Contents/PlugIns/grantlee/5.*)
|
|
||||||
for i in Subsurface.app/Contents/PlugIns/grantlee/${GRANTLEE_VERSION}/*.so; do
|
|
||||||
OLD=$(otool -L $i | grep libGrantlee_Templates | cut -d\ -f1 | tr -d "\t")
|
|
||||||
SONAME=$(basename $OLD )
|
|
||||||
install_name_tool -change ${OLD} @executable_path/../Frameworks/${SONAME} $i;
|
|
||||||
OLD=$(otool -L $i | grep QtCore | cut -d\ -f1 | tr -d "\t")
|
|
||||||
install_name_tool -change ${OLD} @executable_path/../Frameworks/QtCore.framework/QtCore $i;
|
|
||||||
pushd Subsurface.app/Contents/PlugIns/grantlee
|
|
||||||
ln -s ${GRANTLEE_VERSION}/$(basename $i) .
|
|
||||||
popd
|
|
||||||
done
|
|
||||||
- name: store artifact
|
|
||||||
uses: actions/upload-artifact@master
|
|
||||||
with:
|
|
||||||
name: Subsurface.app
|
|
||||||
path: build/Subsurface.app
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user