refactor: Refactoring cmakelist.txt #239
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 | |
on: | |
push: | |
paths-ignore: | |
# - '**' | |
- 'README.md' | |
pull_request: | |
paths-ignore: | |
- 'README.md' | |
jobs: | |
build: | |
name: Build | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [macos-10.15] # macos-10.14 macos-10.15, macos-11.0, macos-12.6 # https://github.com/actions/runner-images/blob/main/images/macos/macos-12-Readme.md | |
qt_ver: [5.15.2] # 参考: https://mirrors.cloud.tencent.com/qt/online/qtsdkrepository/mac_x64/desktop/qt5_5111 | |
qt_arch: [clang_64] | |
env: | |
targetName: Flipped | |
targetLowerName: flipped | |
targetOS: macos | |
steps: | |
# macos 11.0 后默认环境变了,要指定 | |
- name: prepare env | |
if: ${{ matrix.os >= 'macos-11.0' }} | |
run: | | |
softwareupdate --all --install --force | |
sudo xcode-select --print-path | |
sudo xcode-select --switch /Library/Developer/CommandLineTools | |
# - name: Cache Qt # 使用缓存安装Qt模块 | |
# id: cache-qt | |
# uses: actions/cache@v1 # not v2! 参见 https://github.com/jurplel/install-qt-action | |
# with: | |
# path: ../Qt | |
# key: ${{ runner.os }}-QtCache | |
- name: Install Qt | |
# if: steps.cache-qt.outputs.cache-hit != 'true' | |
uses: jurplel/install-qt-action@v3 | |
with: | |
version: ${{ matrix.qt_ver }} | |
# cached: ${{ steps.cache-qt.outputs.cache-hit }} | |
- uses: actions/checkout@v2 | |
with: | |
fetch-depth: 1 | |
- name: pull 3rdparty code | |
run: | | |
git submodule init | |
git submodule update | |
- name: build macos | |
run: | | |
mkdir build | |
cd build | |
cmake .. | |
make | |
echo "-------------- debug 1 --------------" | |
pwd | |
ls -al | |
echo "-------------- debug 1 --------------" | |
cd bin | |
ls -al | |
- name: NameVersion | |
id: NameVersion | |
if: startsWith(github.event.ref, 'refs/tags/') | |
shell: pwsh | |
run: | | |
$systemInfo="${{ env.targetOS }}" | |
$productVersion="${{ github.ref }}".substring("refs/tags/v".length) | |
$productName="${{ env.targetName }}_$productVersion_beta_$systemInfo" | |
echo "systemInfo=$systemInfo" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append | |
echo "productVersion=$productVersion" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append | |
echo "productName=$productName" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append | |
# tag打为.zip包 | |
- name: package | |
id: package | |
if: startsWith(github.event.ref, 'refs/tags/') | |
shell: bash | |
run: | | |
# 拷贝依赖 | |
mkdir bin | |
echo "-------------- debug 1 --------------" | |
pwd | |
ls -al | |
cp -r build/bin/${{ env.targetName }}.app bin | |
echo "-------------- debug 2 --------------" | |
pwd | |
ls -al | |
echo "-------------- debug 3 --------------" | |
cd bin | |
pwd | |
ls -al | |
macdeployqt ${{ env.targetName }}.app -dmg | |
mv ${{ env.targetName }}.dmg ../${{ env.productName }}.dmg | |
echo "-------------- debug 4 --------------" | |
pwd | |
ls -al | |
echo "-------------- debug 5 --------------" | |
cd ../ | |
pwd | |
ls -al | |
echo "-------------- debug 6 --------------" | |
cd bin | |
ls -al | |
pwd | |
# tag上传Release | |
- name: uploadRelease | |
if: startsWith(github.event.ref, 'refs/tags/') | |
uses: softprops/action-gh-release@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.upload_release }} | |
with: | |
draft: false | |
prerelease: false | |
files: | | |
${{ env.productName }}.dmg | |
tag: ${{ github.ref }} | |
overwrite: true |