Skip to content

ci: cmake testing#5

Merged
ChronoInferna merged 4 commits into
mainfrom
build/cmake
Dec 18, 2025
Merged

ci: cmake testing#5
ChronoInferna merged 4 commits into
mainfrom
build/cmake

Conversation

@ChronoInferna

@ChronoInferna ChronoInferna commented Dec 18, 2025

Copy link
Copy Markdown
Owner

This pull request introduces a new GitHub Actions workflow to enable multi-platform continuous integration for CMake projects. The w
This pull request introduces improvements to the build and test infrastructure, focusing on better multi-platform CI support, more robust and maintainable compiler flags, and optimized dependency management for tests. The main changes are grouped below:

Continuous Integration Enhancements:

  • Added a new GitHub Actions workflow (.github/workflows/cmake-multi-platform.yml) to build and test the project on both Windows and Linux, supporting multiple compilers (MSVC, GCC, Clang) with matrix configurations to ensure cross-platform compatibility.

Compiler Flags and Warnings Management:

  • Refactored src/CMakeLists.txt to use an INTERFACE library project_warnings for compiler-specific warning flags, ensuring consistent warning levels across compilers and simplifying future maintenance.
  • Improved handling of config-specific compile options by applying flags conditionally based on both build type (Debug/Release) and compiler, including support for MSVC flags.

Test Dependency Optimization:

  • Updated tests/CMakeLists.txt to use CMake's FetchContent to download Catch2 for unit testing, removing the hard dependency on a pre-installed Catch2 and preparing for CI optimization.

These changes collectively make the build process more robust, portable, and easier to maintain workflow builds and tests the project across different operating systems and compiler toolchains to ensure better cross-platform compatibility.

@ChronoInferna ChronoInferna merged commit 1f8b6f1 into main Dec 18, 2025
3 checks passed
@ChronoInferna ChronoInferna deleted the build/cmake branch December 18, 2025 23:02
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