Update FLTK to latest release (Windows builds); update CI #915
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: | |
branches: [ v21 ] | |
pull_request: | |
branches: [ v21 ] | |
env: | |
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.) | |
BUILD_TYPE: Release | |
# The number of days to retain artifacts | |
RETENTION_DAYS: 30 | |
jobs: | |
build-win32: | |
runs-on: windows-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Download w64devkit | |
run: invoke-webrequest https://github.com/skeeto/w64devkit/releases/download/v2.0.0/w64devkit-x86-2.0.0.exe -outfile ${{github.workspace}}\w64devkit.exe | |
- name: Extract w64devkit | |
run: ${{github.workspace}}\w64devkit.exe -y | |
- name: Set environment variables and build | |
run: | | |
$env:Path = "${{github.workspace}}\w64devkit\bin;" + $env:Path | |
cmake -B build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DCMAKE_CXX_FLAGS="-isystem ${{github.workspace}}\w64devkit\include" -DCMAKE_C_FLAGS="-isystem ${{github.workspace}}\w64devkit\include" -G "MinGW Makefiles" | |
cmake --build build --config ${{env.BUILD_TYPE}} | |
strip ${{github.workspace}}\obsidian.exe | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: obsidian-win32 | |
path: | | |
addons | |
data | |
engines | |
games | |
language | |
modules | |
ports | |
presets | |
scripts | |
theme | |
tools | |
obsidian.exe | |
retention-days: ${{env.RETENTION_DAYS}} | |
build-win64: | |
runs-on: windows-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Download w64devkit | |
run: invoke-webrequest https://github.com/skeeto/w64devkit/releases/download/v2.0.0/w64devkit-x64-2.0.0.exe -outfile ${{github.workspace}}\w64devkit.exe | |
- name: Extract w64devkit | |
run: ${{github.workspace}}\w64devkit.exe -y | |
- name: Set environment variables and build | |
run: | | |
$env:Path = "${{github.workspace}}\w64devkit\bin;" + $env:Path | |
cmake -B build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DCMAKE_CXX_FLAGS="-isystem ${{github.workspace}}\w64devkit\include" -DCMAKE_C_FLAGS="-isystem ${{github.workspace}}\w64devkit\include" -G "MinGW Makefiles" | |
cmake --build build --config ${{env.BUILD_TYPE}} | |
strip ${{github.workspace}}\obsidian.exe | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: obsidian-win64 | |
path: | | |
addons | |
data | |
engines | |
games | |
language | |
modules | |
ports | |
presets | |
scripts | |
theme | |
tools | |
obsidian.exe | |
retention-days: ${{env.RETENTION_DAYS}} | |
build-linux: | |
runs-on: ubuntu-24.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install dependencies | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y libxft-dev libfontconfig1-dev libgl-dev libfltk1.3-dev | |
- name: Configure CMake Ubuntu | |
run: mkdir build && cd build && cmake .. -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} | |
- name: Build Ubuntu | |
run: cmake --build build --config ${{env.BUILD_TYPE}} | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: obsidian-ubuntu | |
path: | | |
addons | |
data | |
engines | |
games | |
language | |
modules | |
ports | |
presets | |
scripts | |
theme | |
tools | |
obsidian | |
retention-days: ${{env.RETENTION_DAYS}} | |
build-macos: | |
runs-on: macos-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install HomeBrew FLTK | |
run: brew install fltk | |
- name: Configure CMake MacOS | |
run: mkdir build && cd build && cmake .. -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} | |
- name: Build MacOS | |
run: cmake --build build --config ${{env.BUILD_TYPE}} | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: obsidian-macos | |
path: | | |
addons | |
data | |
engines | |
games | |
language | |
modules | |
ports | |
presets | |
scripts | |
theme | |
tools | |
obsidian | |
retention-days: ${{env.RETENTION_DAYS}} |