-
Notifications
You must be signed in to change notification settings - Fork 77
MSYS
Version | Compilers | Status | Tests |
---|---|---|---|
Windows 10 (MSYS) | GCC 13.3.0 (x64) | Compiled | 25/28 |
Windows 10 (UCRT64) | GCC 14.2.0 (x64) | Compiled | Passed |
Windows 10 (CLANG32) | Clang 19.1.3 (x86) | Compiled | Passed |
Windows 10 (CLANG64) | Clang 19.1.3 (x64) | Compiled | Passed |
Windows 11 (CLANGARM64) | Clang 18.1.6 (AArch64) | Compiled | Passed |
Windows 10 (MINGW32) | GCC 14.2.0 (x86) | Compiled | Passed |
Windows 10 (MINGW32) | Clang 19.1.3 (x86) | Compiled | Passed |
Windows 10 (MINGW64) | GCC 14.2.0 (x64) | Compiled | Passed |
Windows 10 (MINGW64) | Clang 19.1.3 (x64) | Compiled | Passed |
MSYS had been started as a MinGW add-on and was forked from the Cygwin. Its main goal was to provide POSIX environment to build native Windows binaries, not to run them in POSIX environment. MSYS2 is a modern version which aims to be as closest to Cygwin current state as possible, plus it offers great package management through the ported pacman
utility from Arch Linux. Moreover, MSYS2 provides package build infrastructure to maintain them in an updated state.
Please, do not confuse MSYS2 with Cygwin because they have different goals. You can read more about their differences here.
To read about MSYS2 installation and package management refer to installation manual.
Note. As MSYS2 is a build environment and it lacks cygserver
support from the Cygwin, there is no mean to use IPC related calls (semaphores, shared memory and buffer). This functionality is not runnable under the MSYS2, and a few related tests would fail, as expected.
MSYS2 provides multiple runtime environments with different sets of compilers and targeting different architectures. In general, when building CMake-based projects with MSYS2, it is preferable to use Ninja build system. Both CMake and Ninja, as well as required compilers must be installed in the corresponding environment, see list of available packages.