On Dec 16, 2010, at 10:11 AM, Jed Brown wrote:

> On Thu, Dec 16, 2010 at 03:41, Barry Smith <bsmith at mcs.anl.gov> wrote:
> Note that configure/make handles what I do just fine but Jed's cmake had 
> trouble and suggested changing configure to move the variables.
> 
> Using CC="gcc -m32" literally means that spaces in paths cannot be supported. 
>  BuildSystem mostly doesn't support spaces in paths out of laziness.  But if 
> commands are created in a way that the above will work, then paths cannot 
> possibly have spaces.  CMake functions correctly with spaces in paths at the 
> cost of having to treat the compiler path separately from flags.

  I don't understand why cmake cannot handle "gcc -m32" as is since "cmake can 
handle commands with spaces" then how does cmake know that "gcc -m32" is not 
just a command named gcc -m32 with a space in it? So when I use CC="gcc -m32" I 
am not telling configure (or cmake) my command is gcc with a flag as -m32 I am 
simply telling configure (or cmake) that my command is gcc -m32 and it never 
needs decompose it at all.

  Why doesn't cmake "just work" with this CC="gcc -m32"?

  Barry




> 
> I propose attempting to find CC="/long string/with -spaces" as a single path 
> first and if that fails, break it on spaces, try to use the first item as a 
> compiler, and put the rest into the various flags variables.  That won't work 
> on "/long string/with -spaces", but it will work for "gcc -flags" and 
> "/path/to/gcc -flags".


Reply via email to