[CMake] Secret precompiled header support?

Bill Hoffman bill.hoffman at kitware.com
Wed May 16 21:47:54 EDT 2012


On 5/16/2012 3:49 PM, Robert Dailey wrote:
>  > involved with CMake will help push Kitware to realize how serious
> people are
>  > taking their products and maybe they'll make a move to "professionalize"
>  > them.
So, I do take offense to this language.

Kitware does take CMake seriously and we are always "moving" to make it 
better.  However, since it is an open source project, we do not get any 
direct revenue from CMake.  We do of course receive revenue from 
companies and agencies willing to hire us to implement features or 
develop CMake build systems for them.  If your company wants generic 
pre-compiled header support, we would love for you to hire Kitware to 
implement it.  If you are working on an open source project and you 
would like to contribute pch support that would be great as well.

I think the fact that you are able to do what you need to do, even with 
a bit of extra work speaks to the "professionalism" and flexibility of 
CMake.  If you were unable to create a working build system that 
supported PCH and the other features you found missing in CMake, that 
would be a failure of CMake.  If at the moment CMake does not have an 
elegant way to achieve a particular goal, I don't think that makes it an 
"unprofessional" software tool.

> I was using the word "serious" here as more of a verb, not an
> adjective. I'm saying that boost considering CMake is an indication
> of how people are taking CMake seriously. In other words, popular
> communities are depending on CMake (or gathering interest in) which
> makes CMake a tool taken more seriously. Understand now?

Not really...   KDE (one of the world's largest open source projects) 
adopted CMake in 2006, and they have been a great community to work 
with.  We have, when KDE goals have intersected with some of our paying 
customers, been able to implement features for them.  They have also 
contributed a ton of code back to the CMake.  So, I would love to see 
Boost use CMake as a build system.  I would expect the same type of 
community interaction that we have had with KDE.

Over time, I am sure if PCH headers become a big enough issue for 
someone they will be implemented in CMake with a cleaner interface. 
CMake is far from a static project and has plenty of contributors inside 
and outside of Kitware.  Like any software project, there is always more 
to do.  I can say Kitware is committed to shepherding the CMake project 
and will be developing new features and fixing bugs into the foreseeable 
future.  If Boost adopts CMake, I would welcome the contributions that 
would come from that community, and I am sure both projects would be 
better for it in the future.

So, I don't think it is fair to judge the CMake project on what it does 
not do elegantly, but rather to judge it on what it does well.  Which, I 
think is a great deal of very useful cross platform build features 
allowing very large open and closed source projects to build on a 
variety of platforms.

I am not sure exactly what you were trying to achieve with your email, 
but it was somewhat of an insult to at least one CMake developer 
(myself).  I and the rest of the CMake team take pride in what we have 
achieved, and to say that we did not do a professional job, and don't 
take every user seriously is an insult.

If you have suggestions or ideas on how PCHs or any other feature could 
be implemented in CMake, please bring the discussion to the 
cmake-developers list.  Even if it is not implemented right away, if you 
have the time to discuss what that implementation would look like, that 
would be a welcomed contribution.  However, lets try to steer this 
conversation back to the technical issues and away from non-technical 
issues.

I suppose this is enough said, and most likely too much said...  :)

-Bill


More information about the CMake mailing list