[CMake] Suggestion for CMake platform/compiler detection

Brandon J. Van Every bvanevery at gmail.com
Thu Nov 16 16:00:30 EST 2006


Bill Hoffman wrote:
> The problem with the shell, is that you can run cmake, then run make 
> from a different shell....
> For the most part that works on unix.   zsh, bash, sh, csh basically 
> work the same.   The trouble shows up
> on windows.   

Yep, open source on Windows is nothing but TROUBLE.  It doesn't get the 
testing, consistency, or packaging of the Linux universe.  Really only 
the Cygwin stuff is reliable for prime time, and with that you get 
shafted with the GPL, typically.  -mno_cygwin is possible in theory, but 
breaks builds in practice, and is never the default for the huge stacks 
of Cygwin libraries people use.  The point of packaging is to spare 
people the pain of building things that don't quite build right, so that 
stuff actually works.  It also turns off a lot of the Unix 
compatibility, so a lot of things simply won't build.  The bottom line 
is, if you want to do open source and don't want to get stuck with the 
GPL, you have to build lotsa things from scratch and they tend to break.

> MSYS uses a version of bash, and MinGW uses the windows shell, and 
> cygwin uses bash,
> zsh, or some other more like unix. 

Pedantically: MinGW doesn't "use" a shell.  MinGW is a compiler that 
could be run under straight Windows command prompt, under MSYS, or some 
perverts even run it under the Cygwin bash shell.  Also a few weirdos 
like myself, who find MSYS's Autoconf support to be completely broken, 
use a nonstandard bash shell for MSYS instead of the default rxvt.  
http://sourceforge.net/projects/mingw-install really saved my bacon on 
some legacy Autoconf build issues I was having.

So, I think shell identification is quite valuable.


Cheers,
Brandon Van Every



More information about the CMake mailing list