#assistants: apply column filter color #35
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: MacOS Build | |
on: [push, pull_request] | |
jobs: | |
macOS: | |
runs-on: macos-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Remove symlinks | |
run: | | |
# remove existing symlinks before installing python@3.10 and 3.11 | |
rm /usr/local/bin/2to3 | |
rm /usr/local/bin/idle3 | |
rm /usr/local/bin/pydoc3 | |
rm /usr/local/bin/python3 | |
rm /usr/local/bin/python3-config | |
rm /usr/local/bin/2to3-3.11 | |
rm /usr/local/bin/idle3.11 | |
rm /usr/local/bin/pydoc3.11 | |
rm /usr/local/bin/python3.11 | |
rm /usr/local/bin/python3.11-config | |
- name: Install libraries | |
run: | | |
checkPkgAndInstall() | |
{ | |
while [ $# -ne 0 ] | |
do | |
if brew ls --versions $1 ; then | |
brew upgrade $1 | |
else | |
brew install $1 | |
fi | |
shift | |
done | |
} | |
brew update | |
checkPkgAndInstall pkg-config glew lz4 libjpeg libpng lzo boost libusb libmypaint ccache jpeg-turbo ninja | |
checkPkgAndInstall opencv | |
# opencv depends on vtk and vtk depends on qt6 | |
brew unlink qt | |
checkPkgAndInstall qt@5 | |
- uses: actions/cache@v1 | |
with: | |
path: /Users/runner/.ccache | |
key: ${{ runner.os }}-${{ github.sha }} | |
restore-keys: ${{ runner.os }}- | |
- name: Build libtiff | |
run: | | |
export PATH="/usr/local/opt/ccache/libexec:$PATH" | |
cd thirdparty/tiff-4.0.3 | |
CFLAGS='-fPIC' CXXFLAGS='-fPIC' ./configure --disable-lzma | |
make -j $(nproc) | |
- name: Build | |
run: | | |
export PKG_CONFIG_PATH="/usr/local/opt/jpeg-turbo/lib/pkgconfig:$PKG_CONFIG_PATH" | |
cd toonz | |
mkdir build | |
cd build | |
cmake ../sources -G Ninja -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DQT_PATH='/usr/local/opt/qt@5/lib' -DWITH_TRANSLATION=OFF | |
ninja -w dupbuild=warn | |
- name: Introduce Libraries and Stuff | |
run: | | |
cd toonz/build/toonz | |
cp -pr ../../../stuff OpenToonz.app/portablestuff | |
/usr/local/opt/qt@5/bin/macdeployqt OpenToonz.app -verbose=1 -always-overwrite \ | |
-executable=OpenToonz.app/Contents/MacOS/lzocompress \ | |
-executable=OpenToonz.app/Contents/MacOS/lzodecompress \ | |
-executable=OpenToonz.app/Contents/MacOS/tcleanup \ | |
-executable=OpenToonz.app/Contents/MacOS/tcomposer \ | |
-executable=OpenToonz.app/Contents/MacOS/tconverter \ | |
-executable=OpenToonz.app/Contents/MacOS/tfarmcontroller \ | |
-executable=OpenToonz.app/Contents/MacOS/tfarmserver | |
- name: Modify Library Paths | |
run: | | |
cd toonz/build/toonz/OpenToonz.app/Contents/Frameworks | |
for TARGETLIB in `ls ./ | grep dylib` | |
do | |
echo $TARGETLIB | |
for FROMPATH in `otool -L "$TARGETLIB" | grep ".dylib" | grep -v "$TARGETLIB" | grep -v "@executable_path/../Frameworks" | sed -e"s/ (.*$//"` | |
do | |
echo " $FROMPATH" | |
LIBNAME=`basename $FROMPATH` | |
if [[ -e ./$LIBNAME ]]; then | |
echo "updating library path of $LIBNAME in $TARGETLIB" | |
install_name_tool -change "$FROMPATH" "@executable_path/../Frameworks/$LIBNAME" $TARGETLIB | |
fi | |
done | |
done | |
- name: Create Artifact | |
run: | | |
cd toonz/build/toonz | |
/usr/local/opt/qt@5/bin/macdeployqt OpenToonz.app -dmg -verbose=1 | |
- uses: actions/upload-artifact@v1 | |
with: | |
name: Opentoonz-${{ runner.os }}-${{ github.sha }} | |
path: toonz/build/toonz/OpenToonz.dmg |