[cmake-developers] Splitting CMakeLib

Daniel Pfeifer daniel at pfeifer-mail.de
Thu May 11 03:19:09 EDT 2017


On Wed, May 10, 2017 at 4:56 PM, Egor Pugin <egor.pugin at gmail.com> wrote:

> Hi!
>
> I'd like to re-use some CMake internal components, but CMakeLib looks too
> fat.
> Is it possible to split it into several libraries? Are such changes
> welcome to contribute?
>

Strongly in favor. Such a modularization will be a benefit for CMake. It
will require to cleanup CMake's internal inter-dependencies and it will
help to keep them clean afterwards.
It will make CMake's codebase easier to approach by new contributors. It
will allow experiments like replacing individual parts (eg. new frontend).
Let's learn from LLVM/Clang.


> Some rough plan:
> 1) Support library (if any stuff)
> 2) Core library (targets etc.)
> 3) Generators library
> 4) CMake syntax library (lexer, parser)
> 5) Commands implementation library (could be merged with 4)
>

Don't merge the commands with the command interpreter/vm.

5) Scripting commands
6) Project commands
7) CTest commands
8) Package generators
9) Server
...

True cmake power is in its generators. It's always possible to rip off
> all other stuff, but in order to be tied with mainstream and
> contribute back, I'm asking this.
>

Personally, I regard the generators as obsolete and see the future in the
server.

Cheers, Daniel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/cmake-developers/attachments/20170511/0a012576/attachment.html>


More information about the cmake-developers mailing list