On August 31, we celebrated the 20th anniversary of CMake. We recently had a virtual interview with Bill Hoffman, Kitware CTO and founder, and original creator of CMake, to ask him five questions as he reflected on this milestone.
When CMake was first created, did you envision it would become what it is today?
We always joked at the start that the goal was world domination. However, the depth of market penetration with over 50% of all C++ projects using CMake has exceeded expectations. None of this would have been possible without the active open source developer community that has arisen around CMake with major contributors coming from all over the world. In addition I want to thank Dr. Terry Yoo who was at NLM when he funded the initial CMake work as part of the Insight Toolkit.
Looking back, what is the biggest impact you think CMake has made on the software industry?
It is hard to judge the impact of an open source project like CMake. We know that it is widely used and allows C++ developers to focus on the projects they are implementing instead of how to build them. One amazing thing to see is the number of job postings that list CMake as a job requirement. I have been approached by people at conferences that thank me for making their PhD thesis work easier because of CMake. It’s a very humbling experience!
One of the main features of CMake is the ability for different C++ libraries to easily be assembled together. This has allowed both commercial applications and advanced researchers to more quickly and robustly advance technology in everything from stock trading to self-driving cars.
What project involving CMake are you most proud of?
Kitware’s own open source offerings, VTK, ITK, ParaView, 3DSlicer, and KWIVER, have benefited tremendously from CMake in areas including cross-platform support and automated testing. When the popular KDE desktop adopted CMake, it created a fantastic partnership between the KDE developers and CMake developers. One of the most surprising adoptions of CMake came from Microsoft’s Visual Studio. I never would have imagined that CMake would be delivered as part of Visual Studio as it currently is.
What is your vision for CMake in the next 20 years?
CMake will continue to fill the niche in the C++ ecosystem providing cross-platform build capabilities. It is impossible to predict the future but I hope CMake will be in use as long as C++ is still in use.
Is there anything else you’d like to share with the CMake community?
I just want to thank all of the CMake users and developers who have kept the project growing and thriving for the last 20 years. Without you, CMake would not be what it is today!
For a trip down memory lane, check out this post from August 31, 2000, when Bill first introduced CMake to the ITK community.