Modern build transition #530
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
We are beginning the transition to a new build system on Windows based on MSYS2/MinGW64 and MSYS2/Clang. Both compilers are expected to be supported, with MinGW generating executables that depend on msvcrt and Clang generating executables that depend on Microsoft's more recent universal C runtime (ucrt).
This PR will allow all three environments (legacy, MinGW64/msvcrt and Clang/ucrt) to build the game from one common codebase. For some time all three options should be available. When we are satisfied that the new build system works and has been tested sufficiently, all we will have to do will be to remove the legacy build parts (effectively kind of reversing this PR and leaving only the new build system configurations in).
Linux should still be fully functional and build the modern variant by default, with the only difference being that while the Windows modern build uses espeak-ng, Linux is still on the old espeak. A transition to espeak-ng should be planned but is outside of the scope of this PR.
Thanks to mcarans for a great job on creating the modern dev environments. We are already seeing performance improvements in the binaries produced by them.