Performance problems in CMake support

Aleix aleixpol at
Tue Apr 1 13:48:39 UTC 2008

Sorry, maybe I didn't explain properly.

If you grep QRegExp on the parser directory you will see that it is only on:
- CMakeAst, command parser:
    * To collect the cmake_minimum_required version value.
    * The same for cmake_policy (2.6)
- Condition evaluator:
    * For the MATCHES case (from cmake, can't remove it).
- Project Visitor:
    * To get the information from the envvar list (it could be changed, and
I will, but I don't think it is significant)
    * On the STRING command on regex-related options.
    * ADD_DEFINITION command: to extract info from the definitions. (it
could be changed, and I will, it appears quite often so maybe it could be
    * REMOVE_DEFINITION command: the same but barely used.

It is used on the manager 1 time so it is not a problem as well.

I'll remove now the few I think that could be removed but, as I said, I
think the big load of regex is used by the cmake scripts themselves.


On Tue, Apr 1, 2008 at 2:21 PM, Andreas Pakulat <apaku at> wrote:

> On 01.04.08 13:59:01, Aleix wrote:
> > As I said to andreas, the important use of regex is on the configuration
> > scripts and I can't do anything about that since i need them to parse
> the
> > projects properly.
> No you don't. In particular you only need regexes if the cmake script
> itself uses a regex somewhere and thats not used that much - AFAIK. For
> translating the plain text of a CMakeLists.txt into some abstract
> structure you don't necessarily need regexps. CMake itself doesn't use
> regexps to parse its own files either.
> Anyway, lets see how your caching idea works out before throwing away
> existing code.
> Andreas
> --
> If your life was a horse, you'd have to shoot it.
> _______________________________________________
> KDevelop-devel mailing list
> KDevelop-devel at
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the KDevelop-devel mailing list