[CMake] CMake IR

Domagoj Saric domagoj.saric at littleendian.com
Wed Jul 29 10:25:54 EDT 2015


On 29.7.2015. 12:02, Nagy-Egri Máté Ferenc via CMake wrote:
> The reason I suggested this as a CMake 4.0 feature is because I am the 11th
> person out of 10 who actually “likes” CMake a bit and cares for it. I’d rather
> empower a tool I use on a daily basis than spawn an alternative and spend half
> my life trying to winning the world over.

My 2 ranting cents: you perfectly summed my own thoughts on CMake. This 
love-hate relationship seems to be a recurring theme (where you 'adore' the idea 
behind CMake but 'abhore' the implementation of the idea) so 'there's got to be 
something to it' ":)"

In addition to it feeling like working with (or fighting against) an ugly 
crossover between a C preprocessor and a shell script from 1979, an increasingly 
big source of frustration is its rigidness and limitation of 'only one 
toolset/compiler per project'.
With platforms like Android (NDK) that require you to build for X different 
architectures with different toolsets/compilers, or IDEs like Xcode or Visual 
Studio that offer targeting so many different combinations of toolsets and 
targets (even Android and iOS in the latest version) >from a single project< 
having a build system that requires you to create a separate build directory for 
each and every one of those combinations (and then somehow connect them into a 
master build where a single CPack invocation will be able to gather and package 
the build results of all the sub-builds) feels like an ancient torture device.


As for the proposal, wouldn't the first logical step in 'decoupling CMake from 
its legacy' be what Clang did with libclang, i.e extracting the 
'core'/non-scripting part of CMake into a libcmake around which new 
interfaces/DSLs can written/created..?


-- 
Domagoj Saric
Software Architect
www.LittleEndian.com



More information about the CMake mailing list