On Thursday 04 October 2007 15:28, David Faure wrote: > What do you think about this patch? > It reduces the debug output (and the time, a little bit) when configuring > extragear from the toplevel. Because it's possible to configure it globally > or each subdir separately, each subdir calls find_package(KDE4 REQUIRED) so > the output looks like a large mess with the multiple lines of output > related "looking for Qt4" and "looking for KDE4" repeated 9 times. > > KDE4_FOUND and QT4_FOUND don't go into the cache, so I think this change is > correct, it only makes a difference when find_package is done multiple > times. (Maybe cmake itself could remember the packages called, and notice > "OK I have done find_package(KDE4 REQUIRED) already once, no need to do it > again"?)
Hmm, not sure. E.g. in FindQt4.cmake there is a QT_MIN_VERSION, where the user can adjust the required version of Qt4. So e.g. toplevel could do: set(QT_MIN_VERSION 4.0.0) while in some other subdir set(QT_MIN_VERSION 4.3.0) might be used. The same for the arguments like "REQUIRED", the subcomponents etc., so all this needs to be handled by the patch. FindQt4.cmake is already complicated enough. So, what I can say is, that if you commit this, this is a change will not go into cmake cvs, because it can break things. I would prefer if the FindQt4.cmake versions in KDE and cmake don't get to different (they are already different enough now). So the patch will work in the common case but has the potential to break stuff. Is the optimization measurable ? If it's not significant I'd say due to the potential to break stuff this should not be committed. Bye Alex P.S. for the optimization: run cmake with cachegrind. I found that there are two "big" functions: one is the parsing (not sure anything can be done there since this is generated code) and the other one was something like IsSubDirectory(), can't remember exactly right now _______________________________________________ Kde-buildsystem mailing list [email protected] https://mail.kde.org/mailman/listinfo/kde-buildsystem
