[Dart] RE: [Cmake] Configuration problem in Dart/CMake

Blezek, Daniel J (Research) blezek at crd.ge.com
Wed Sep 11 08:31:21 EDT 2002


Putting spaces into commonly used paths is asking for trouble </Soapbox>.

The only suggestion that I have is to let CMake handle proper quoting of paths.  Given the number of
times "Program Files" crops up, I would suspect that having the configuration system handle quoting
is the best approach.  Somehow I doubt that the Unix autoconfig system handles spaces in path names
correctly.

Rather than quotes, you could use {}, as this is a Tcl word delimiter.

-dan
--
Daniel Blezek, Ph.D.
blezek at crd.ge.com
Visualization and Computer Vision Lab, Imaging Technologies
GE Global Research Center


> -----Original Message-----
> From: Ian Scott [mailto:ian.m.scott at stud.man.ac.uk]
> Sent: Wednesday, September 11, 2002 4:58 AM
> To: Miller, James V (Research)
> Cc: Dart Mailing List (E-mail); Cmake at Public. Kitware. Com (E-mail)
> Subject: [Dart] RE: [Cmake] Configuration problem in Dart/CMake
> 
> 
> 
> 
> 
> > From: Miller, James V (Research) [mailto:millerjv at crd.ge.com]
> 
> > Now, back to the original question... I don't think we have
> > quotes on any of the other variables that get expanded in
> > Dart.conf.in.  Did either of the two changes to Configure.tcl
> > fix the problem?
> 
> 
> No,
> 
> And there is good reason to expect them not to.
> The line in DartConfiguration.tcl contains 3 spaces
> 
>                  1          2                         3
> ConfigureCommand: C:/Program Files/CMake/bin/cmake.exe
> C:/workspace/seng/contsrc
> 
> The first space is after the Setting identifier. This is expected, and
> ignored.
> The second space is in the middle of the path to CMake 
> between "Program" and
> "Files"
> The third space is between the path to the CMake Command and 
> the path to the
> Source Directory.
> 
> Once you get into Configure.tcl, there is simply no general way of
> distinguishing between the second space (which needs to be 
> guarded with a \)
> and the third (and any subsequent) spaces.
> 
> However, the solution I described below (enclosing the 
> command in quotes)
> does appear to work, and also appears to be cross-platform.
> 
> Ian.
> 
> >
> >
> >
> > > -----Original Message-----
> > > From: Ian Scott [mailto:ian.m.scott at stud.man.ac.uk]
> > > Sent: Tuesday, September 10, 2002 12:56 PM
> > > To: Miller, James V (Research)
> > > Cc: Dart Mailing List (E-mail); Cmake at Public. Kitware. 
> Com (E-mail)
> > > Subject: RE: [Cmake] Configuration problem in Dart/CMake
> > >
> > >
> > >
> > > Contrary to my first email, it seems that just putting quotes
> > > around the
> > > command filepath in DartConfiguration.tcl does work. I will
> > > submit a fix to
> > > Dart.conf.in and Utility.conf.in (are both really needed) so
> > > that the quotes
> > > always go in.
> > >
> > > Ian.
> > >
> > > > -----Original Message-----
> > > > From: Miller, James V (Research) [mailto:millerjv at crd.ge.com]
> > > > Sent: Tuesday, September 10, 2002 3:19 PM
> > > > To: Ian Scott; Dart Mailing List (E-mail); Cmake at Public.
> > > Kitware. Com
> > > > (E-mail)
> > > > Cc: Amitha Perera (E-mail)
> > > > Subject: RE: [Cmake] Configuration problem in Dart/CMake
> > > >
> > > >
> > > > Could you try these two changes to
> > > > Dart/Source/Client/Configure.tcl, line 88
> > > > (when your CMake entry in the cache is c:/Program
> > > > Files/CMake/bin/cmake.exe)
> > > >
> > > > The current line is:
> > > >
> > > >   set ConfigureStatus [catch {eval exec
> > > > $Dart(ConfigureCommand) >& $ConfigureLogFilename} ]
> > > >
> > > > Could you try
> > > >
> > > >   set ConfigureStatus [catch {exec $Dart(ConfigureCommand) >&
> > > > $ConfigureLogFilename} ]
> > > >
> > > > and
> > > >
> > > >   set ConfigureStatus [catch {eval exec [list
> > > > $Dart(ConfigureCommand)] >& $ConfigureLogFilename} ]
> > > >
> > > > One of these two changes should fix the problem.  My Tcl
> > > > "eval" intuition is
> > > > little rusty :) so I don't know which one will work...
> > > >
> > > >
> > > >
> > > > > -----Original Message-----
> > > > > From: Ian Scott [mailto:ian.m.scott at stud.man.ac.uk]
> > > > > Sent: Tuesday, September 10, 2002 5:50 AM
> > > > > To: Dart Mailing List (E-mail); Cmake at Public. Kitware.
> > > Com (E-mail)
> > > > > Cc: Amitha Perera (E-mail)
> > > > > Subject: [Cmake] Configuration problem in Dart/CMake
> > > > >
> > > > >
> > > > > We have found a problem with CMake/Dart which explains why
> > > > > Builds on windows
> > > > > are more prone to temporary configuration problems on
> > dashboards.
> > > > >
> > > > > If (as would be expected) you have installed CMake in
> > > > > C:\Program Files\CMake
> > > > > then the CMAKE variable CMAKE_COMMAND will be set to
> > > > > C:/Program Files/CMake/bin/cmake.exe
> > > > >
> > > > > When dart uses a CONFIGURE_FILE command on a file containing
> > > > > the following
> > > > > line
> > > > >
> > > > > ConfigureCommand: @CMAKE_COMMAND@ @PROJECT_SOURCE_DIR@
> > > > >
> > > > > It produces the output
> > > > >
> > > > > ConfigureCommand: C:/Program Files/CMake/bin/cmake.exe
> > > > > C:/workspace/seng/contsrc
> > > > >
> > > > > Dart uses this output to set itself up, and attempts to exec
> > > > > $ConfigureCommand, producing ( and quietly swallowing) an
> > > > > error Can't find
> > > > > "C:\program"
> > > > >
> > > > > This problem can be fixed by moving CMake to somewhere
> > > > > without a space in
> > > > > the path.
> > > > >
> > > > > However, a proper fix would be useful. For example is it
> > > > > possible to tell
> > > > > the Configure command to replace any spaces inside a
> > > > > particular macro with
> > > > > "\ "? Another approach might include forcing cmake to
> > use the 8.3
> > > > > translation of the path name
> > > > > C:/PROGRA~1/CMake/bin/cmake.exe
> > > > > but I don't know how to do this either.
> > > > >
> > > > > Adding quotes to the outside of the command, i.e.
> > > > > ConfigureCommand: "@CMAKE_COMMAND@" @PROJECT_SOURCE_DIR@
> > > > > does not appear to work. The quotes get swallowed by tcl.
> > > > >
> > > > >
> > > > > Ian.
> > > > >
> > > > >
> > > > > _______________________________________________
> > > > > Cmake mailing list
> > > > > Cmake at public.kitware.com
> > > > > http://public.kitware.com/mailman/listinfo/cmake
> > > > >
> > > >
> > >
> > >
> >
> 
> 
> _______________________________________________
> Dart mailing list
> Dart at public.kitware.com
> http://public.kitware.com/mailman/listinfo/dart
> 



More information about the CMake mailing list