Skip to content

MSYS,CYGWIN: Hard-code host system names when built for these runtimes

Brad King requested to merge brad.king/cmake:msys-system-name into master

When CMake is built against the MSYS runtime library, uname() returns a name that depends on the MSYSTEM environment variable. Previously we truncated MSYS_... to just MSYS, but outside MSYSTEM=MSYS environments, names like MINGW64_NT-10.0-22000 were reported.

The latter causes CMake to report an unsupported-platform error, which users report as an issue when the real problem is that they should be using a MSYSTEM=MSYS environment or a CMake that is not built against the MSYS runtime.

For our purposes, if CMake is built against the MSYS runtime, the host platform is always MSYS. Similarly for CYGWIN.

Edited by Brad King

Merge request reports