Skip to content

Add GitHub Actions CI and CMake build support - #6

Merged
Marzac merged 5 commits into
mainfrom
adding-ci-and-cmake
Jun 20, 2026
Merged

Add GitHub Actions CI and CMake build support#6
Marzac merged 5 commits into
mainfrom
adding-ci-and-cmake

Conversation

@Marzac

@Marzac Marzac commented Jun 20, 2026

Copy link
Copy Markdown
Owner

Summary

  • Add CI workflows: Linux build (Ubuntu 24.04 Docker, Qt6, Ninja) and Windows build (MSVC 2022, Qt 6.8, windeployqt6), with a release job that uploads both archives on version tags
  • Add Docker image workflow for the Linux CI container (build-ci-image.yml)
  • Add editor/CMakeLists.txt alongside waller.pro — both remain usable (Qt Creator can open either)
  • Update editor/waller.pro with MSVC / GCC-Clang conditional flags so the project compiles with both toolchains

Test plan

  • Merge triggers Linux and Windows CI builds successfully
  • Push a v* tag and verify both release archives are attached to the GitHub release
  • Verify Qt Creator opens editor/CMakeLists.txt and builds locally

Marzac added 5 commits June 20, 2026 15:20
Two builds on each push/tag: Linux via a Docker container (Ubuntu 24.04,
Qt6, Ninja) and Windows via MSVC 2022 / Qt 6.8 with windeployqt6.
A release job uploads both archives when a version tag is pushed.
Adds waller.pro MSVC flag conditionals (/W4 /arch:SSE4.1 /MP) so the
project compiles with both MSVC and GCC/Clang from the same .pro file.
Add editor/CMakeLists.txt alongside waller.pro (both remain usable).
CMake handles AUTOMOC/AUTOUIC/AUTORCC, links Qt6 SpatialAudio, and
applies the same MSVC / GCC-Clang flag split as the updated .pro file.
The editor source directory is added explicitly to the include search
path to match qmake's implicit behaviour and satisfy AUTOMOC.
CI configure steps updated to cmake -B build -S editor.
Avoids the chicken-and-egg problem where the CI image must exist before
the first CI run. The build-ci-image.yml is kept for future use if a
cached image becomes worth maintaining.
cpuid.h is GCC/Clang only; guard with _MSC_VER and use <intrin.h> with
MSVC's __cpuid(int[4], level) signature instead.
/arch:SSE4.1 is not recognised on MSVC x64 (SSE4 intrinsics are always
available there without a flag); remove from CMakeLists.txt and waller.pro.
@Marzac
Marzac merged commit 5ae76f0 into main Jun 20, 2026
6 checks passed
@Marzac
Marzac deleted the adding-ci-and-cmake branch June 26, 2026 08:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant