Skip to content

[README.md和main.cc文件更新] #136

[README.md和main.cc文件更新]

[README.md和main.cc文件更新] #136

Workflow file for this run

name: CMake Build
on:
push:
paths-ignore:
- 'doc/**'
- 'translations/**'
- '.clang-*'
- '.gitignore'
- '*.pri'
- 'LICENSE'
- '*.pro'
- 'README*'
pull_request:
paths-ignore:
- 'doc/**'
- 'translations/**'
- '.clang-*'
- '.gitignore'
- '*.pri'
- 'LICENSE'
- '*.pro'
- 'README*'
env:
MACOSX_DEPLOYMENT_TARGET: 11.0
PACKET_DIR: ./packaging/packet
RELEASES_DIR: ./packaging/releases
jobs:
build:
name: Build
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os:
- windows-latest
- macos-latest
- ubuntu-latest
build_type:
- "RelWithDebInfo"
generators:
- "Ninja"
arch:
- x86_64
include:
- os: macos-latest
build_type: "RelWithDebInfo"
generators: "Ninja"
arch: arm64
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 1
- uses: ./.github/actions/install-dependencies
with:
os_name: ${{ matrix.os }}
- name: Configure and build windows
if: startsWith(matrix.os, 'windows')
shell: pwsh
run: |
.\scripts\windows\setVsDev.ps1
cmake `
-S . `
-B ./build `
-DCMAKE_BUILD_TYPE=${{ matrix.build_type }} `
-G "${{ matrix.generators }}"
cmake --build ./build --config ${{ matrix.build_type }}
- name: Configure and build ubuntu
if: startsWith(matrix.os, 'ubuntu')
shell: bash
run: |
cmake \
-S . \
-B ./build \
-DCMAKE_BUILD_TYPE=${{ matrix.build_type }} \
-G "${{ matrix.generators }}"
cmake --build ./build --config ${{ matrix.build_type }}
- name: Configure and build macos
if: startsWith(matrix.os, 'macos')
shell: bash
run: |
cmake \
-S . \
-B ./build \
-DCMAKE_BUILD_TYPE=${{ matrix.build_type }} \
-DCMAKE_OSX_ARCHITECTURES="${{ matrix.arch }}" \
-G "${{ matrix.generators }}"
cmake --build ./build --config ${{ matrix.build_type }}
- name: Move compiled files to packaging/packet
shell: bash
run: |
mkdir -p ${{ env.PACKET_DIR }}
mkdir -p ${{ env.RELEASES_DIR }}
mv -v ./bin-64/${{ matrix.build_type }}/* ${{ env.PACKET_DIR }}/
ls -al ${{ env.PACKET_DIR }}
- name: Download fonts
shell: bash
working-directory: ${{ env.PACKET_DIR }}
run: |
cmake -P ./../fonts.cmake
ls -al
ls -al ./fonts
- name: Packaging windows
if: startsWith(runner.os, 'Windows')
shell: pwsh
run: |
.\packaging\windows\package.ps1
- name: Packaging macos
if: startsWith(runner.os, 'macOS')
shell: bash
run: |
sudo chmod +x ./packaging/macos/package.sh
./packaging/macos/package.sh
- name: Packaging ubuntu
if: startsWith(runner.os, 'Linux')
shell: bash
run: |
sudo chmod 755 ./packaging/ubuntu/package.sh
./packaging/ubuntu/package.sh
- name: Check packages
shell: bash
run: |
ls -al ${{ env.PACKET_DIR }}
ls -al ${{ env.RELEASES_DIR }}
- name: Upload packages
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.os }}-${{matrix.arch}}-${{ matrix.build_type }}
path: ${{ env.RELEASES_DIR }}
release:
name: Release
needs: build
if: startsWith(github.ref, 'refs/tags/')
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 1
- name: Mkdir releases
shell: bash
run: |
mkdir -p ${{ env.RELEASES_DIR }}
- name: Download packages
uses: actions/download-artifact@v4
with:
path: ${{ env.RELEASES_DIR }}
- name: Move packages
working-directory: packaging
shell: bash
run: |
sudo chmod +x rename_packages.sh
./rename_packages.sh
- name: Create release
uses: softprops/action-gh-release@v2
with:
draft: false
prerelease: false
generate_release_notes: true
files: |
${{ env.RELEASES_DIR }}/*