Skip to content
Alexander Saprykin edited this page Nov 21, 2024 · 8 revisions

Configurations

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

About

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.

Installation

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.

Clone this wiki locally