Skip to content

Switch to Ninja build system and avoid Msys2 bash#64

Open
jcommander wants to merge 1 commit intoflyngmt:masterfrom
jcommander:master
Open

Switch to Ninja build system and avoid Msys2 bash#64
jcommander wants to merge 1 commit intoflyngmt:masterfrom
jcommander:master

Conversation

@jcommander
Copy link
Copy Markdown

@jcommander jcommander commented Apr 12, 2026

While Msys2 is still being used i only set the path variable to include the path in the .bat file
This avoids having to load the mingw32 bash as the installer doesn't always create an accessible Shortcut in the Start menu.
This way you can just run it from cmd or by double-clicking build_pc.bat.

Besides this, switching to ninja also offers a hugee performance boost not only for a full (re)build but also if no source files change, with mingw32-make it would take 5-6 seconds to detect that nothing changed (running the Debugger in my IDE triggers the build tool).
With ninja a full rebuild feels 2-3x faster and if no source files changed it's near instant.

Are there any good reasons the project went away from ninja in the decomp and switched to mingw32-make?

The build_pc.bat file allows for 2 optional arguments to override the default build output path and msys2 mingw32 path
e.g. build_pc.bat pc/custom_build C:/custom/path/to/msys64/mingw32
this will also be passed to the toolchain file

Default values are BUILD_NAME=pc/build32 and MINGW32=C:/msys64/mingw32

Since ninja ships with msys2's mingw32 it should work out of the box too

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