Skip to content

fix cmake and ci for libusb branch #177

fix cmake and ci for libusb branch

fix cmake and ci for libusb branch #177

name: Build Windows
on:
push:
branches: [ master, feature/github-actions, test/libusb ]
pull_request:
branches: [ master, feature/github-actions ]
release:
types: [published]
jobs:
build:
name: "Build target: ${{ matrix.arch }}-${{ matrix.config }}"
runs-on: windows-latest
strategy:
fail-fast: false
matrix:
arch: [x64]
config: [Release]
include:
- arch: x64
arch_name: 64-bit
arch_suffix: "64"
steps:
- name: Remove Perl Strawberry installation
# Removes conflicting headers from include paths
run: |
Remove-Item -Recurse -Force C:/Strawberry
- name: Checkout Git Repo
uses: actions/checkout@v3
with:
submodules: 'recursive'
- name: Install latest CMake
uses: lukka/get-cmake@4dcd3eb73017c61159eb130746fbca35d78a3d5f # latest as of 2023-08-30
- name: Restore artifacts, or setup vcpkg (do not install any package)
uses: lukka/run-vcpkg@3a22746930754ced94ac552915aa816265ef90c1 # latest as of 2023-08-30
with:
vcpkgGitCommitId: 'ad25766aefb5313b6bc4e2a4b78a2946f84fbf66' # latest as of 2024-06-08
- name: Build CEmu Qt ${{ matrix.config }} on Windows ${{ matrix.arch_name }}
uses: lukka/run-cmake@fbcfe006bc5450def7a319af91733647d985d157 # latest as of 2023-08-30
with:
cmakeListsTxtPath: '${{ github.workspace }}/gui/qt/CMakeLists.txt'
configurePreset: '${{ matrix.arch }}-${{ matrix.config }}'
buildPreset: '${{ matrix.arch }}-${{ matrix.config }}'
env:
VCPKG_FORCE_SYSTEM_BINARIES: 1
- name: Upload ${{ matrix.arch_name }} ${{ matrix.config }} EXE
uses: actions/upload-artifact@v3
with:
name: CEmu_win${{ matrix.arch_suffix }}_master
path: ${{ github.workspace }}/gui/qt/CEmu.build/${{ matrix.arch }}-${{ matrix.config }}/CEmu.exe
- name: Prepare binary for release upload
if: ${{ matrix.config == 'Release' }}
run: |
Rename-Item -Path "${{ github.workspace }}/gui/qt/CEmu.build/${{ matrix.arch }}-${{ matrix.config }}/CEmu.exe" -NewName "CEmu-nightly_win${{ matrix.arch_suffix }}-msvc_qt6.exe"
- name: Update nightly release
if: ${{ matrix.config == 'Release' && github.ref == 'refs/heads/master' && github.event_name != 'pull_request' }}
uses: softprops/action-gh-release@d4e8205d7e959a9107da6396278b2f1f07af0f9b # latest as of 2023-01-13
with:
tag_name: nightly
prerelease: true
token: ${{secrets.GITHUB_TOKEN}}
files: |
./gui/qt/CEmu.build/${{ matrix.arch }}-${{ matrix.config }}/CEmu-nightly_win${{ matrix.arch_suffix }}-msvc_qt6.exe