[CMake] CMake2.5 - wrong default install location for mingw

Gonzalo Garramuño ggarra at advancedsl.com.ar
Fri Oct 19 15:23:41 EDT 2007


Bill Hoffman wrote:
> That is not a bug.  MSYS in its "charter" explicitly says it does not 
> want to become a new cygwin.  The tools in msys are available only for 
> support of the compiler tool chain. The main goal is to build native 
> windows applications with the mingw tool chain.  If you want posix 
> applications you should be using cygwin.
> 

Well, yes, the problem with that theory or that take on mingw's charter 
is that:

a) All unix autotools utilities (or other libs like ffmpeg) built under 
mingw/msys will not install in $PROGRAMFILES, which leads to cmake's 
approach being totally backwards with the rest of msys.

The proper approach for mingw with cmake should be to detect the 
environment the user is using.  To me the simplest approach to doing 
that would really be to check if $SHELL is defined.  If it is, it should 
default to a Unix install location of /usr/local (ie MingGW root's 
/usr/local).  If it is not defined, it should default to a windows 
install of $PROGRAMFILES.

b) cygwin's approach is sadly bloated and uses a somewhat inefficient 
approach that also forces you to depend on cygwin.dll and the microsoft 
runtimes (mingw only depends on an outdated microsoft runtime).  That 
makes it not suitable for a lot of stuff (Mind you, I've used cygwin for 
5+ years to have a basic unix shell environment on windows and for that 
I'm eternally thankful but mainly because mingw as a shell environment 
back then was pitiful).  Now the combo of mingw-msys has evolved to be a 
superior solution for me (and I don't need X11 gui tools on windows 
which mingw will probably never provide, which is how I interpret 
mingw's charter).

-- 
Gonzalo Garramuño
ggarra at advancedsl.com.ar

AMD4400 - ASUS48N-E
GeForce7300GT
Kubuntu Edgy


More information about the CMake mailing list