Skip to content

Commit

Permalink
github: mac12 support
Browse files Browse the repository at this point in the history
  • Loading branch information
xiaoyifang committed Aug 6, 2022
1 parent b9827a9 commit 4b2f3b4
Show file tree
Hide file tree
Showing 2 changed files with 132 additions and 3 deletions.
117 changes: 117 additions & 0 deletions .github/workflows/macos-m1.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,117 @@
name: macos-m1
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
on:
workflow_dispatch:
# push:
# branches:
# - dev
# - master
# # - staged
# paths-ignore:
# - 'docs/**'
# - ".github/**"
# - "howto/**"
# - "*.md"
# - ".clang-format"
# pull_request:
# branches:
# - dev
# - master
# # - staged
# paths-ignore:
# - 'docs/**'
# - ".github/**"
# - "howto/**"
# - "*.md"
jobs:
build:
name: Build
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macos-12]
qt_ver: [6.3.1]
qt_arch: [clang_64]
env:
targetName: GoldenDict
steps:
# - name: prepare env
# run: |
# cd /opt
# mkdir homebrew
# curl -L https://github.com/Homebrew/brew/tarball/master | tar xz --strip 1 -C homebrew
# export PATH=$PATH:/opt/homebrew/bin
- name: Install Qt
uses: xiaoyifang/install-qt-action@v3
with:
version: ${{ matrix.qt_ver }}
arch: ${{ matrix.qt_arch }}
cached: 'false'
modules: qtwebengine qtwebchannel qtpositioning qt5compat qtmultimedia
- uses: actions/checkout@v3
with:
fetch-depth: 1
- name: Set outputs
id: githash
run: |
echo "::set-output name=sha_short::$(git rev-parse --short HEAD)"
- name: build macos
run: |
brew install pcre2 harfbuzz freetype
brew install cmake ninja python
brew install automake
brew install autoconf
brew install libtool
brew install opencc
brew install ffmpeg@5
#brew reinstall $(brew deps ffmpeg) ffmpeg
brew install libao
brew install libiconv
brew install lzo bzip2
brew install libogg
brew install zstd
brew install libtiff
brew install libvorbis --force
brew install hunspell
brew install pkg-config
- name: compile
run: |
qmake CONFIG+=release CONFIG+=no_extra_tiff_handler CONFIG+=no_epwing_support CONFIG+=no_ffmpeg_player #CONFIG+=no_qtmultimedia_player
make
# 打包
- name: package
run: |
macdeployqt ${targetName}.app -qmldir=. -verbose=1 -dmg
- name: Set outputs
id: vars
run: |
echo "::set-output name=sha_short::$(git rev-parse --short=8 HEAD)"
echo "::set-output name=release_date::$(date +'%Y%m%d')"
echo "::set-output name=release_time::$(date +'%H%M%S')"
echo "::set-output name=release_time_clock::$(date +'%H:%M:%S')"
# tag 上传Release
# - name: uploadRelease
# uses: svenstaro/upload-release-action@v2
# with:
# repo_token: ${{ secrets.GITHUB_TOKEN }}
# file: ${{ env.targetName }}.dmg
# asset_name: ${{ env.targetName }}-M1_${{ matrix.os }}_${{ matrix.qt_ver }}_${{ steps.vars.outputs.sha_short }}.dmg
# tag: v${{ steps.autotag.outputs.version }}-${{ steps.vars.outputs.sha_short }}
# overwrite: true
# release_name: win-ubuntu-macos-${{ github.ref_name }}-${{steps.vars.outputs.release_date}}
# prerelease: true
# body: |
# release on date: ${{steps.vars.outputs.release_date}} time: ${{steps.vars.outputs.release_time_clock}}
# branch: ${{ github.ref_name }}
# commit: ${{ steps.vars.outputs.sha_short }}
# Qt version: ${{ matrix.qt_ver }} ${{ matrix.qt_arch }}
# Windows built with: msvc64 Visual studio 2019
# goldendict.exe was provided alone ,if you have a previous version. replace this maybe ok. if not ,download the whole bundle.
# AppImage built with: Ubuntu-20.04 ,latest gcc
# macos built with: macos-10.15,macos-11.0,clang_64
# This is a prerelease version ,auto build by github action. use on your on risk:-)
18 changes: 15 additions & 3 deletions goldendict.pro
Original file line number Diff line number Diff line change
Expand Up @@ -202,7 +202,6 @@ mac {
-lvorbisfile \
-lvorbis \
-logg \
-lhunspell \
-llzo2
!CONFIG( no_ffmpeg_player ) {
LIBS += -lao \
Expand All @@ -213,8 +212,21 @@ mac {
}
QT_CONFIG -= no-pkg-config
CONFIG += link_pkgconfig
INCLUDEPATH = $${PWD}/maclibs/include
LIBS += -L$${PWD}/maclibs/lib -framework AppKit -framework Carbon

PKGCONFIG += vorbisfile \
vorbis \
ogg \
lzo2 hunspell
!CONFIG( no_ffmpeg_player ) {
PKGCONFIG += ao \
libavutil \
libavformat \
libavcodec \
libswresample \
}

INCLUDEPATH = /opt/homebrew/include /usr/local/include
LIBS += -L/opt/homebrew/lib -L/usr/local/lib -framework AppKit -framework Carbon
OBJECTIVE_SOURCES += lionsupport.mm \
machotkeywrapper.mm \
macmouseover.mm \
Expand Down

0 comments on commit 4b2f3b4

Please sign in to comment.