@@ -14,17 +14,17 @@ jobs:
1414 - uses : actions/setup-python@v2
1515 with :
1616 python-version : ' 3.8'
17+ - name : Set up Homebrew # https://github.com/Homebrew/homebrew-cask/issues/150323
18+ id : set-up-homebrew
19+ uses : Homebrew/actions/setup-homebrew@master
1720 - name : install_qt
1821 run : |
19- pip install aqtinstall
20- python3 -m aqt install-qt -m qtcharts -O ${{ github.workspace }}/Qt/ mac desktop ${{ env.QT_VERSION }}
22+ brew install aqtinstall
23+ aqt install-qt -m qtcharts -O ${{ github.workspace }}/Qt/ mac desktop ${{ env.QT_VERSION }}
2124 echo ${{ github.workspace }}/Qt/${{ env.QT_VERSION }}/macos/bin/ >> $GITHUB_PATH
2225 rm -r ${{ github.workspace }}/Qt/${{ env.QT_VERSION }}/macos/plugins/sqldrivers/libqsqlmimer.*
2326 rm -r ${{ github.workspace }}/Qt/${{ env.QT_VERSION }}/macos/plugins/sqldrivers/libqsqlodbc.*
2427 rm -r ${{ github.workspace }}/Qt/${{ env.QT_VERSION }}/macos/plugins/sqldrivers/libqsqlpsql.*
25- - name : Set up Homebrew # https://github.com/Homebrew/homebrew-cask/issues/150323
26- id : set-up-homebrew
27- uses : Homebrew/actions/setup-homebrew@master
2828 - name : install_opencv
2929 run : |
3030 rm -f /usr/local/bin/2to3*
3838 brew upgrade -q -f
3939 brew install pkg-config
4040 brew install openssl
41- brew install libiodbc
4241 brew install opencv
42+ brew uninstall --ignore-dependencies qt
4343 export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig/
44+ - name : remove_MimerSQL_plugin
45+ run : |
46+ QT_DIR=${{ github.workspace }}/Qt/${{ env.QT_VERSION }}/macos
47+ rm -f $QT_DIR/plugins/sqldrivers/libqsqlmimer.so
48+ rm -f $QT_DIR/lib/cmake/Qt6Sql/Qt6QMimerSQLDriverPlugin*.cmake
49+ sed -i '/QMimerSQLDriverPlugin/d' $QT_DIR/lib/cmake/Qt6Sql/Qt6SqlPlugins.cmake || true
50+ - name : remove_ODBCSQL_plugin
51+ run : |
52+ QT_DIR=${{ github.workspace }}/Qt/${{ env.QT_VERSION }}/macos
53+ rm -f $QT_DIR/plugins/sqldrivers/libqsqlodbc.so
54+ rm -f $QT_DIR/lib/cmake/Qt6Sql/Qt6QODBCDriverPlugin*.cmake
55+ sed -i '/Qt6QODBCDriverPlugin/d' $QT_DIR/lib/cmake/Qt6Sql/Qt6SqlPlugins.cmake || true
56+ - name : remove_QPSQL_plugin
57+ run : |
58+ QT_DIR=${{ github.workspace }}/Qt/${{ env.QT_VERSION }}/macos
59+ rm -f $QT_DIR/plugins/sqldrivers/libqsqlpsql.so
60+ rm -f $QT_DIR/lib/cmake/Qt6Sql/Qt6QPSQLDriverPlugin*.cmake
61+ sed -i '/Qt6QPSQLDriverPlugin/d' $QT_DIR/lib/cmake/Qt6Sql/Qt6SqlPlugins.cmake || true
4462 - name : build_ft
4563 run : |
4664 ./run.sh ci
@@ -49,13 +67,16 @@ jobs:
4967 macdeployqt FastTrack.app -always-overwrite
5068 wget https://raw.githubusercontent.com/arl/macdeployqtfix/refs/heads/master/macdeployqtfix.py
5169 #cp *.qm FastTrack.app/Contents/Resources/
70+ find / -name "libutf8_validity.dylib" -exec cp {} FastTrack.app/Contents/Frameworks/ \; 2> >(tee /dev/stderr) || true
5271 find / -name "libgcc_s.1.1.dylib" -exec cp {} FastTrack.app/Contents/Frameworks/ \; 2> >(tee /dev/stderr) || true
5372 find / -name "libsharpyuv.0.dylib" -exec cp {} FastTrack.app/Contents/Frameworks/ \; 2> >(tee /dev/stderr) || true
5473 find / -name "libjxl_cms.0.11.dylib" -exec cp {} FastTrack.app/Contents/Frameworks/ \; 2> >(tee /dev/stderr) || true
74+ find / -name "libvtk*.dylib" -exec cp {} FastTrack.app/Contents/Frameworks/ \; 2> >(tee /dev/stderr) || true
75+ find / -name "libsqlite*.dylib" -exec cp {} FastTrack-Cli.app/Contents/Frameworks/ \; 2> >(tee /dev/stderr) || true
5576 cp -v /opt/homebrew/Cellar/opencv/*/lib/lib*.dylib FastTrack.app/Contents/Frameworks/ || true # Should (and was) be automatically done by macdeployqt!
5677 cp -v /opt/homebrew/opt/little-cms2/lib/lib*.dylib FastTrack.app/Contents/Frameworks/ || true # Should (and was) be automatically done by macdeployqt!
5778 cp -v /opt/homebrew/opt/jpeg-xl/lib/lib*.dylib FastTrack.app/Contents/Frameworks/ || true # Should (and was) be automatically done by macdeployqt!
58- python macdeployqtfix.py fasttrack.app/contents/macos/fasttrack ../../Qt/${{ env.QT_VERSION }}/
79+ # python macdeployqtfix.py fasttrack.app/contents/macos/fasttrack ../../Qt/${{ env.QT_VERSION }}/
5980 hdiutil create -volname FastTrack -srcfolder FastTrack.app -ov -format UDZO FastTrack.dmg
6081 - name : upload_artefact
6182 uses : actions/upload-artifact@v4
@@ -65,19 +86,38 @@ jobs:
6586 - name : build_ft_cli
6687 run : |
6788 cd build/bin
68- mv fasttrack-cli.app FastTrack-Cli.app
69- macdeployqt FastTrack-Cli.app -always-overwrite
70- #cp *.qm FastTrack-Cli.app/Contents/Resources/
71- find / -name "libgcc_s.1.1.dylib" -exec cp {} FastTrack-Cli.app/Contents/Frameworks/ \; 2> >(tee /dev/stderr) || true
72- find / -name "libsharpyuv.0.dylib" -exec cp {} FastTrack-Cli.app/Contents/Frameworks/ \; 2> >(tee /dev/stderr) || true
73- find / -name "libjxl_cms.0.11.dylib" -exec cp {} FastTrack-Cli.app/Contents/Frameworks/ \; 2> >(tee /dev/stderr) || true
74- cp -v /opt/homebrew/Cellar/opencv/*/lib/lib*.dylib FastTrack-Cli.app/Contents/Frameworks/ || true # Should (and was) be automatically done by macdeployqt!
75- cp -v /opt/homebrew/opt/little-cms2/lib/lib*.dylib FastTrack-Cli.app/Contents/Frameworks/ || true # Should (and was) be automatically done by macdeployqt!
76- cp -v /opt/homebrew/opt/jpeg-xl/lib/lib*.dylib FastTrack-Cli.app/Contents/Frameworks/ || true # Should (and was) be automatically done by macdeployqt!
77- python macdeployqtfix.py fasttrack-cli.app/contents/macos/fasttrack-cli ../../Qt/${{ env.QT_VERSION }}/
89+ APP=FastTrack-Cli.app
90+ APP_BINARY=$APP/Contents/MacOS/FastTrack-Cli
91+ mv fasttrack-cli.app "$APP"
92+ macdeployqt "$APP" \
93+ -always-overwrite \
94+ -verbose=2 \
95+ -libpath=/opt/homebrew/opt/sqlite/lib \
96+ -libpath=/opt/homebrew/opt/vtk/lib \
97+ -libpath=/opt/homebrew/opt/jpeg-xl/lib \
98+ -libpath=/opt/homebrew/opt/little-cms2/lib \
99+ -libpath=$(find /opt/homebrew/Cellar/opencv -type d -name lib | head -n 1)
100+ find "$APP/Contents/Frameworks" -type f -name "*.dylib" -exec codesign --remove-signature {} \; 2>/dev/null || true
101+ find "$APP/Contents/Frameworks" -type f -name "*.dylib" -exec codesign --force --sign - {} \;
78102 hdiutil create -volname FastTrack-Cli -srcfolder FastTrack-Cli.app -ov -format UDZO FastTrack-Cli.dmg
79103 - name : upload_artefact
80104 uses : actions/upload-artifact@v4
81105 with :
82106 name : FastTrack-Cli.dmg
83107 path : ./build/bin/FastTrack-Cli.dmg
108+
109+ test_bundle :
110+ runs-on : macos-latest
111+ needs : build_mac
112+ steps :
113+ - name : download artifact
114+ uses : actions/download-artifact@v4
115+ with :
116+ name : FastTrack-Cli.dmg
117+ path : FastTrack-Cli
118+
119+ - name : Run FastTrack executable
120+ run : |
121+ cd FastTrack-Cli
122+ hdiutil attach FastTrack-Cli.dmg -mountpoint /Volumes/FastTrackApp
123+ /Volumes/FastTrackApp/FastTrack-Cli.app/Contents/MacOS/FastTrack-Cli --help
0 commit comments