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

Bill Hoffman bill.hoffman at kitware.com
Sun Apr 6 12:17:54 EDT 2008


Philip Lowman wrote:

> The GUI isn't going nonresponsive anymore but configuration time is 
> still around 4:00 using the nightly release (2.7-20080406).
> 
> Perhaps something is just weird with my machine.  I'm not doing anything 
> special here, just your typical source and build dir rooted somewhere on 
> the C:\.  There is a MESSAGE() call about me missing a library that's 
> required, I hit OK at the prompt and it churns. Eventually it pops up a 
> large error dialog with all of the targets that need the missing library.
> 
> Would someone mind doing a quick svn checkout and comparing 
> configuration times with me?
> 

OK, I was able to reproduce the problem.  Seems to be something wrong 
with find_path.  It is taking 1 minute to run cmake on the tree with CVS 
CMake and 8 seconds with 2.4.8.   A quick profile showed it was spending 
all of its time in find_path for boost and sdl.

The following very short cmakelist file reproduces the problem:

cmake_minimum_required(VERSION 2.4)
include(FindBoost)

With 2.4 it takes .21 seconds, and with CVS CMake it takes 30 seconds!

And, all the time is spent here:

message("start find config.hpp")
FIND_PATH(Boost_INCLUDE_DIR NAMES boost/config.hpp PATH_SUFFIXES 
${SUFFIX_FOR_PATH} PATHS

   # Look in other places.
   ${BOOST_DIR_SEARCH}

   # Help the user find it if we cannot.
   DOC "The ${BOOST_INCLUDE_PATH_DESCRIPTION}"
)
message("end find config.hpp")


So, there is something wrong with cmFindPathCommand.cxx.  I will look at 
this on Monday or maybe later today.  It is just too nice out today to 
be hacking cmake.  :)

-Bill





More information about the CMake mailing list