[cmake-developers] Branches on next

Matthew Woehlke mw_triad at users.sourceforge.net
Tue Feb 11 17:18:22 EST 2014


On 2014-02-11 14:49, Ben Boeckel wrote:
> I've just pushed two branches into next:
>
>      dev/custom-parsers
>          Replaces the parsers in cmMakefile::ExpandVariablesInString with
>          custom code rather than lex/yacc. The parsers in
>          cmGeneratorExpression::StripEmptyListElements
>          cmSystemTools::ExpandListArguments and have been optimized to
>          not do char-by-char result building and
>          cmGeneratorExpressionLexer::Tokenize now uses a switch
>          statement. These gain about 20% in the configure step (generate
>          is largely unchanged; maybe 33% for Makefiles (though Makefiles
>          generate faster than the configure for ParaView) and minimal for
>          Ninja).
>
>      dev/fix-sublime-compile-flags
>          Fixes a typo in the sublime generator (found while working on
>          another branch).
>
> Please test the custom-parsers branch. The tests pass, but if there are
> any corner cases there, new tests should be included. Testing on
> non-Linux would be nice as well.

On a loosely related note, did you know that there are now at least two 
Python parsers for CMake script? (Besides I believe a C++ one in 
KDevelop...)

1. https://github.com/ijt/cmakelists_parsing
2. 
https://github.com/mwoehlke-kitware/Slicer/blob/3269-publish-extension-wizard/Utilities/Scripts/SlicerWizard/CMakeParser.py

It would be interesting to know how accurate these are. (Although if the 
README for the (1) is accurate, that one isn't anything to write home 
about.)

(One reason I mention it is because when I wrote (2), I made an attempt 
to look at CMake's own parsing code. Alas, I do not speak lex...)

-- 
Matthew




More information about the cmake-developers mailing list