[cmake-developers] Configure optimization for WIN32

Philip Lowman philip at yhbt.com
Wed Apr 18 00:02:50 EDT 2007


Regarding commenting out the call to SystemTools::GetActualCaseForPath()
near line 2689 in kwsys/SystemTools.cxx (near the bottom of
CollapseFullPath().

I did a quick check of the path as it enters and exits this function to
see when this case correction actually does anything.  As I suspected
it's very rare for this function to actually do anything meaningful at
all.  I did this on a Visual Studio 7 generator and the only times I
discovered a filename's case was specified incorrectly were:

1.
The file
Z:/builds/morespeed/CMakeFiles/CMakeTmp/debug/cmTryCompileExec.exe was
specified with a case of
Z:/builds\morespeed/CMakeFiles/CMakeTmp/Debug/cmTryCompileExec.exe
(directory "Debug" created as "debug")

2.
Invocation of "cmake -E copy_if_different" in copying files from the
source directory to the binary directory appears to be creating paths
that are entirely lowercase.  This gets invoked with a custom command.

I have yet to find out how either of these cases happen, but I suspect
it's somehow happening prior to running an external command (not sure
where this would be located)  Somehow things are getting converted to
lowercase but I haven't found out where yet.

Overall, commenting out the line in SystemTools.cxx saves me 8780 system
calls all of which occur over the network.

Also, I had a thought last week that it might be possible for a
developer to shoot themselves in the foot by accidently "cd"ing into the
wrong directory name (by case or working directory) and rerunning CMake.
   This doesn't appear to be a problem based on testing I've done.  It
is a significant problem if they change the case of the source directory
name but this is appears to be a VS7 issue.

-- 
Philip Lowman



More information about the cmake-developers mailing list