[CMake] major performance problems on win32 with CMake 2.6.0 B6

Bill Hoffman bill.hoffman at kitware.com
Sun Apr 6 22:28:35 EDT 2008


Philip Lowman wrote:

> 
> Thanks Bill.  Enjoy the rest of the weekend.
> 

Found it...

$ cvs commit -m "BUG: fix network path by mistake in search " 
cmFindBase.cxx
/cvsroot/CMake/CMake/Source/cmFindBase.cxx,v  <--  cmFindBase.cxx
new revision: 1.36; previous revision: 1.35

Basically the find path stuff was exapanding out to something like this:

//boost_1_34

Note the // at the start of the path.  On Windows this is a network 
path, and windows was trying to contact a machine called boost_1_34.  I 
have put a check in to stop it from doing this.  You mpv project now 
configures in 1.3 seconds.  Still slow than the .97 seconds for cmake 
2.4.8, but the newer cmake gives better diagnostics about which targets 
are using the undefined variables from things not being found.

The trouble sort of came from here:

   # MinGW (useful when cross compiling from linux with 
CMAKE_FIND_ROOT_PATH set)
   /

So, on windows / is a prefix path and the code always just added "/" + 
path onto the prefix and did not check for an existing trailing "/".
Anyway, should be fixed now, good catch!


-Bill





More information about the CMake mailing list