[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