Skip to content

Build: CMake as building system#85

Merged
snems merged 36 commits into
snems:masterfrom
metaq3:meta/build/cmake
Jun 23, 2026
Merged

Build: CMake as building system#85
snems merged 36 commits into
snems:masterfrom
metaq3:meta/build/cmake

Conversation

@metaq3

@metaq3 metaq3 commented Jun 17, 2026

Copy link
Copy Markdown
Contributor

As the title says, it replaces Makefile that has been used for building this mod. It also contains some features, that were not present in Makefile:

  • Changing header file leads to recompilation of files that include it.
    • QVM recompiles all source files, though, but only on header change. Modifying .c files make only changed files to recompile.
  • Undefined symbols now are disallowed during native library building. This ensures that game modules load successfully when using native build.
  • Multi-threaded support, providing faster build times.
  • Tests do not require Catch2 pre-installed. It's rather built automatically.

CI for Windows is separated into MSVC and MinGW parts. MSVC support would be nice!

I also updated the README. It should be prettier now. You can also checkout release from my repo to see how it goes.

You're free to squash commits when merging, as they do not represent great history. Waiting for your review!

@metaq3 metaq3 force-pushed the meta/build/cmake branch from 4d0e301 to 5f08a95 Compare June 18, 2026 16:44
@metaq3 metaq3 force-pushed the meta/build/cmake branch from 5f08a95 to 24bf2c6 Compare June 20, 2026 14:47
@metaq3 metaq3 force-pushed the meta/build/cmake branch 2 times, most recently from 1d232ca to 73e3063 Compare June 20, 2026 17:19
@metaq3 metaq3 marked this pull request as ready for review June 20, 2026 18:27
@snems

snems commented Jun 23, 2026

Copy link
Copy Markdown
Owner

Good job, thank you!

@snems snems merged commit 21ca025 into snems:master Jun 23, 2026
4 checks passed
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.

2 participants