Skip to content

build windows installers #17

build windows installers

build windows installers #17

Workflow file for this run

name: build
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
linux-x86_64:
name: build (linux-x86_64)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: install dependencies
run: |
sudo apt update && sudo apt install -y build-essential cmake ninja-build libudev-dev libavahi-compat-libdnssd-dev
- name: configure
run: |
cmake -B build -S . -G Ninja -DCMAKE_BUILD_TYPE=Release
- name: build
run: |
cmake --build build
linux-arm64:
name: build (linux-arm64)
runs-on: ubuntu-24.04-arm
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: install dependencies
run: |
sudo apt update && sudo apt install -y build-essential cmake ninja-build libudev-dev libavahi-compat-libdnssd-dev
- name: configure
run: |
cmake -B build -S . -G Ninja -DCMAKE_BUILD_TYPE=Release
- name: build
run: |
cmake --build build
macos:
name: build (macos-universal)
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: configure
run: |
cmake -B build -S . -G Ninja -DCMAKE_BUILD_TYPE=Release
- name: build
run: |
cmake --build build
windows-x86_64:
name: build (windows-x86_64)
runs-on: windows-latest
defaults:
run:
shell: msys2 {0}
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: install nsis
shell: cmd
run: choco install nsis -y
- name: install dependencies
uses: msys2/setup-msys2@v2
with:
msystem: CLANG64
update: true
install: >-
mingw-w64-clang-x86_64-toolchain
mingw-w64-clang-x86_64-cmake
mingw-w64-clang-x86_64-ninja
- name: configure
run: |
cmake -B build -S . -G Ninja -DCMAKE_BUILD_TYPE=Release
- name: build
run: |
cmake --build build
- name: build installer
shell: cmd
run: |
call refreshenv
makensis /DFILE_SRC=build\bin /DARCH=x86_64 installers\windows\installer.nsi
- name: upload artifacts
uses: actions/upload-artifact@v4
with:
name: serialosc-windows-x86_64
path: installers/windows/serialosc-*.exe
if-no-files-found: warn
windows-arm64:
name: build (windows-arm64)
runs-on: windows-11-arm
defaults:
run:
shell: msys2 {0}
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: install nsis
shell: cmd
run: choco install nsis -y
- name: install dependencies
uses: msys2/setup-msys2@v2
with:
msystem: CLANGARM64
update: true
install: >-
mingw-w64-clang-aarch64-toolchain
mingw-w64-clang-aarch64-cmake
mingw-w64-clang-aarch64-ninja
- name: configure
run: |
cmake -B build -S . -G Ninja -DCMAKE_BUILD_TYPE=Release
- name: build
run: |
cmake --build build
- name: build installer
shell: cmd
run: |
call refreshenv
makensis /DFILE_SRC=build\bin /DARCH=arm64 installers\windows\installer.nsi
- name: upload artifacts
uses: actions/upload-artifact@v4
with:
name: serialosc-windows-arm64
path: installers/windows/serialosc-*.exe
if-no-files-found: warn