mirror of https://github.com/mgba-emu/mgba.git
Merge c87358a0b9
into 06c00c14a6
This commit is contained in:
commit
1ed4786cde
|
@ -0,0 +1,163 @@
|
||||||
|
name: CI
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
paths-ignore:
|
||||||
|
- 'CHANGES'
|
||||||
|
- '.github/*'
|
||||||
|
- '.gitignore'
|
||||||
|
- '*.yml'
|
||||||
|
- 'docs/**'
|
||||||
|
# pull_request:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build-windows-docker:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
#container: mgba/windows:w64
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
#- run: mkdir -p build-win64
|
||||||
|
- name: Docker
|
||||||
|
run: docker run --rm -v ${PWD}:/home/mgba/src mgba/windows:w64
|
||||||
|
- run: ls
|
||||||
|
|
||||||
|
build-windows-msys2:
|
||||||
|
runs-on: windows-latest
|
||||||
|
env:
|
||||||
|
POWERSHELL_TELEMETRY_OPTOUT: 1
|
||||||
|
defaults:
|
||||||
|
run:
|
||||||
|
shell: msys2 {0}
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
- uses: msys2/setup-msys2@v2
|
||||||
|
- name: Setup
|
||||||
|
env:
|
||||||
|
MINGW_PACKAGE_PREFIX: mingw64
|
||||||
|
run: |
|
||||||
|
pacman -Sy --noconfirm --needed base-devel git ${MINGW_PACKAGE_PREFIX}-{cmake,ffmpeg,gcc,gdb,libelf,libepoxy,libzip,lua,pkgconf,qt5,SDL2,ntldd-git,7zip}
|
||||||
|
mkdir build
|
||||||
|
- name: CMake
|
||||||
|
working-directory: build
|
||||||
|
run: cmake .. -G"MSYS Makefiles"
|
||||||
|
- name: Build
|
||||||
|
working-directory: build
|
||||||
|
run: cmake --build . -j$NUMBER_OF_PROCESSORS
|
||||||
|
- name: Create artifact
|
||||||
|
id: artifact
|
||||||
|
working-directory: build
|
||||||
|
run: |
|
||||||
|
cpack -G ZIP
|
||||||
|
zip=$(ls *.zip)
|
||||||
|
7z x "$zip"
|
||||||
|
echo "name=${zip//.zip}" >> "$GITHUB_OUTPUT"
|
||||||
|
- uses: actions/upload-artifact@v3
|
||||||
|
with:
|
||||||
|
name: ${{ steps.artifact.outputs.name }}
|
||||||
|
path: build\${{ steps.artifact.outputs.name }}
|
||||||
|
if-no-files-found: error
|
||||||
|
|
||||||
|
build-windows-vcpkg:
|
||||||
|
runs-on: windows-2019 #latest
|
||||||
|
strategy:
|
||||||
|
#fail-fast: false
|
||||||
|
matrix:
|
||||||
|
configuration: [Release] #, Debug
|
||||||
|
env:
|
||||||
|
POWERSHELL_TELEMETRY_OPTOUT: 1
|
||||||
|
VCPKG_BUILD_TYPE: ${{ matrix.configuration }}
|
||||||
|
VCPKG_DEFAULT_TRIPLET: x64-windows-release
|
||||||
|
VCPKG_DISABLE_METRICS: 1
|
||||||
|
#VCPKG_TARGET_ARCHITECTURE: x64
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
- name: Setup
|
||||||
|
run: |
|
||||||
|
cd $env:VCPKG_INSTALLATION_ROOT
|
||||||
|
.\bootstrap-vcpkg
|
||||||
|
vcpkg integrate install
|
||||||
|
vcpkg install ffmpeg[vpx,x264] libepoxy libpng libzip lua sdl2 sqlite3
|
||||||
|
vcpkg --no-dry-run upgrade
|
||||||
|
vcpkg integrate install
|
||||||
|
echo "${env:VCPKG_INSTALLATION_ROOT}\installed\x64-windows-release\bin" >> "$GITHUB_PATH"
|
||||||
|
cd -
|
||||||
|
mkdir build
|
||||||
|
- uses: jurplel/install-qt-action@v3.2.1
|
||||||
|
with:
|
||||||
|
cache: true
|
||||||
|
#setup-python: false
|
||||||
|
- name: CMake
|
||||||
|
working-directory: build
|
||||||
|
run: cmake .. -DCMAKE_CONFIGURATION_TYPES=$env:VCPKG_BUILD_TYPE -DZLIB_LIBRARY=zlib -DCMAKE_TOOLCHAIN_FILE="C:/vcpkg/scripts/buildsystems/vcpkg.cmake"
|
||||||
|
- name: Build
|
||||||
|
working-directory: build
|
||||||
|
run: cmake --build . -j$env:NUMBER_OF_PROCESSORS
|
||||||
|
|
||||||
|
build-windows-cross:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
#env:
|
||||||
|
# CC: x86_64-w64-mingw32-gcc
|
||||||
|
# CXX: x86_64-w64-mingw32-g++
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
- name: Setup
|
||||||
|
run: |
|
||||||
|
sudo apt-get -y update
|
||||||
|
sudo apt-get -y install libepoxy-dev libsdl2-dev libglu1-mesa-dev mesa-common-dev mingw-w64
|
||||||
|
mkdir -p build
|
||||||
|
- uses: jurplel/install-qt-action@v3.2.1
|
||||||
|
with:
|
||||||
|
cache: true
|
||||||
|
setup-python: false
|
||||||
|
- name: CMake
|
||||||
|
working-directory: build
|
||||||
|
run: cmake .. -DCMAKE_SYSTEM_NAME=Windows -DCMAKE_C_COMPILER=x86_64-w64-mingw32-gcc -DCMAKE_CXX_COMPILER=x86_64-w64-mingw32-g++
|
||||||
|
- name: Build
|
||||||
|
working-directory: build
|
||||||
|
#env:
|
||||||
|
# CC: x86_64-w64-mingw32-gcc
|
||||||
|
# CXX: x86_64-w64-mingw32-g++
|
||||||
|
#run: make -j$(nproc)
|
||||||
|
run: cmake --build . -j$(nproc)
|
||||||
|
- name: Create artifacts
|
||||||
|
working-directory: build
|
||||||
|
run: cpack -G ZIP
|
||||||
|
- uses: actions/upload-artifact@v3
|
||||||
|
with:
|
||||||
|
name: mgba-windows-cross
|
||||||
|
path: build/*.zip
|
||||||
|
if-no-files-found: error
|
||||||
|
|
||||||
|
build-linux:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
- name: Setup
|
||||||
|
run: |
|
||||||
|
sudo apt-get -y update
|
||||||
|
sudo apt-get -y install libsdl2-dev
|
||||||
|
- uses: jurplel/install-qt-action@v3.2.1
|
||||||
|
with:
|
||||||
|
cache: true
|
||||||
|
setup-python: false
|
||||||
|
- name: CMake
|
||||||
|
run: cmake -Bbuild
|
||||||
|
- name: Build
|
||||||
|
run: cmake --build build -j$(nproc)
|
||||||
|
|
||||||
|
build-macos:
|
||||||
|
runs-on: macos-latest
|
||||||
|
env:
|
||||||
|
HOMEBREW_NO_ANALYTICS: 1
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
- name: Setup
|
||||||
|
run: brew install cmake ffmpeg libzip qt5 sdl2 libedit lua pkg-config
|
||||||
|
#- uses: jurplel/install-qt-action@v3.2.1
|
||||||
|
# with:
|
||||||
|
# cache: true
|
||||||
|
# #setup-python: false
|
||||||
|
- name: CMake
|
||||||
|
run: cmake -Bbuild #-DCMAKE_PREFIX_PATH=$(brew --prefix qt5) # prefix might not be needed
|
||||||
|
- name: Build
|
||||||
|
run: cmake --build build -j$(getconf _NPROCESSORS_ONLN)
|
Loading…
Reference in New Issue