[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