[CMake] CMake performance question

Brad King brad.king at kitware.com
Fri Oct 20 08:53:44 EDT 2006


Alexander Neundorf wrote:
> #16: the line is parsed and a vector containing the arguments is created, which is handed the cmSetCommand. This turns the vector into a string.
> #17: the line is parsed, ${srcs} is expanded to the string in srcs and parsed again into a vector.
> #08: it evaluates to true, so we continue there.
> #09: from the vector ARGN a string is constructed, which is the parsed and again turned into a vector which is handed to add_library
> #11: although we don't really go there, is ARGN still expanded and parsed into a vector ?
> #13: ARGN is again converted from a vector into a string and then parsed back into a vector
> #02: ARGN is again converted from a vector to a string which is turned into vector which is then iterated.
> 
> Do I understand correctly ? 
> I found that for us quite a lot of time seems to be spent in parsing. I'm thinking about using lists more to speed this up.

Yes, this is correct.  This is a fundamental problem with any purely
string-based scripting language.  Eventually we may end up giving types
to variables to deal with this but it isn't a priority right now.

-Brad


More information about the CMake mailing list