[cmake-developers] Distinguishing MSYS2

Ray Donnelly mingw.android at gmail.com
Fri Aug 7 09:37:04 EDT 2015


On Fri, Aug 7, 2015 at 2:21 PM, Brad King <brad.king at kitware.com> wrote:
> On 08/07/2015 08:33 AM, Ray Donnelly wrote:
>> Finally, there's the consideration as to whether "MSYS2" implies you
>> are using just the minimum amount of the MSYS2 shell or whether you've
>> gone all-in with MSYS2
>
> CMAKE_SYSTEM_NAME should refer to the target application environment.
> If you're building with the MinGW tools for Windows then the value
> of CMAKE_SYSTEM_NAME should simply be "Windows".
>
> For Cygwin we have a CMake built to run in Cygwin and target native
> Cygwin builds, and that CMake is completely different from the one
> used for Windows builds.  The Cygwin CMake cannot be used to host
> builds on Windows and the Windows CMake cannot be used to host
> builds on Cygwin.
>
> Does MSYS2 have its own runtime such that binaries can understand
> POSIX paths like in Cygwin?  In that case there should be a separate
> non-Windows CMake for MSYS2 just like we have for Cygwin.

Yes, it's very much like Cygwin (a fork with a few additions) and
understands POSIX paths (C:\ -> /c/, without the /cygdrive stuff). Our
runtime DLL is called msys-2.0.dll instead of cygwin1.dll.

It would seem that our msys/cmake package identifies CMAKE_SYSTEM_NAME
as MSYS at present:

https://github.com/Alexpux/MSYS2-packages/blob/master/cmake/cmake-3.2.3-msys.patch

Cheers,

Ray.

>
> -Brad
>


More information about the cmake-developers mailing list