Package macOS version as a bundle #58
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: CMake | |
on: | |
push: | |
paths: | |
- src/** | |
- "CMakeLists.txt" | |
- .github/workflows/cmake.yml | |
pull_request: | |
paths: | |
- src/** | |
- "CMakeLists.txt" | |
- .github/workflows/cmake.yml | |
jobs: | |
linux: | |
name: "Ubuntu 22.04LTS x86_64" | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Install Qt | |
uses: jurplel/install-qt-action@v3 | |
with: | |
aqtversion: '==3.1.*' | |
version: '5.15.2' | |
host: 'linux' | |
target: 'desktop' | |
arch: 'gcc_64' | |
- name: Install AppImage | |
run: | | |
wget -q https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage -O appimagetool | |
chmod a+x appimagetool | |
- name: Checkout Repository | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: CMake Configure | |
env: | |
CMAKE_PREFIX_PATH: ${{env.Qt5_Dir}} | |
run: cmake . | |
- name: CMake Build | |
run: cmake --build . -j`nproc` | |
- name: Install | |
run: | | |
mkdir AppDir | |
mv 86boxman AppDir | |
#- name: CMake Install | |
# env: | |
# DESTDIR: "AppDir" | |
# run: cmake --install . --prefix /usr | |
- name: Upload Artifact | |
uses: actions/upload-artifact@v3 | |
with: | |
name: '86boxman Ubuntu 22.04LTS x86_64' | |
path: AppDir | |
windows: | |
name: "Windows x86_64 (MXE)" | |
runs-on: ubuntu-20.04 | |
env: | |
MXE_TARGET: x86-64-w64-mingw32.static | |
MXE_CMAKE: /usr/lib/mxe/usr/bin/x86_64-w64-mingw32.static-cmake | |
steps: | |
- name: Install MXE Packages | |
run: | | |
sudo apt-get -y install software-properties-common lsb-release cmake | |
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 86B72ED9 | |
sudo add-apt-repository -y "deb [arch=amd64] https://pkg.mxe.cc/repos/apt `lsb_release -sc` main" | |
sudo apt update | |
sudo apt-get -y install mxe-${MXE_TARGET}-cc mxe-${MXE_TARGET}-cmake-conf mxe-${MXE_TARGET}-qt5 | |
- name: Checkout Repository | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: CMake Configure | |
run: ${MXE_CMAKE} . | |
- name: CMake Build | |
run: ${MXE_CMAKE} --build . -j`nproc` | |
- name: CMake Install | |
env: | |
DESTDIR: "ZipDir" | |
run: cmake --install . --prefix / | |
- name: Package | |
run: | | |
mkdir Package | |
zip Package/86boxman.zip -kjr9 ZipDir/* | |
- name: Upload Artifact | |
uses: actions/upload-artifact@v3 | |
with: | |
name: '86boxman Windows x86_64 (MXE)' | |
path: Package | |
macos: | |
name: "MacOS 11 x86_64" | |
runs-on: macos-11 | |
steps: | |
- name: Install Qt | |
uses: jurplel/install-qt-action@v3 | |
with: | |
aqtversion: '==3.1.*' | |
version: '5.15.2' | |
host: 'mac' | |
target: 'desktop' | |
arch: 'clang_64' | |
- name: Checkout Repository | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: CMake Configure | |
env: | |
CMAKE_PREFIX_PATH: ${{env.Qt5_Dir}} | |
run: cmake . | |
- name: CMake Build | |
run: cmake --build . -j`sysctl -n hw.ncpu` | |
- name: Install | |
run: | | |
mkdir AppDir | |
mv 86boxman.app AppDir | |
- name: Package | |
uses: lethja/[email protected] | |
with: | |
name: '86boxman' | |
srcdir: 'AppDir' | |
- name: Move DMG | |
run: | | |
mkdir Package | |
mv 86boxman.dmg Package | |
- name: Upload Artifact | |
uses: actions/upload-artifact@v3 | |
with: | |
name: '86boxman MacOS 11 x86_64' | |
path: Package |