What Is CMake and What Does cmake.org Offer?
CMake is a cross-platform build system for managing the software build process, and cmake.org is its official home for documentation, downloads, training, and support. It is the right starting point if you are setting up a C++ project, moving an existing project to a portable build system, or looking for expert help with CMake itself.
What CMake Is
CMake is described on its site as "a powerful, comprehensive solution for managing the software build process" and "the de-facto standard for building C++ code," with over 2 million downloads per month. In practice, that means you describe your project once in CMake's own configuration files, and CMake generates the native build files for whichever platform and toolchain you target.
The features the site highlights are:
- Single source builds on multiple platforms
- Cross-platform packaging system
- Out-of-source builds
- System introspection
- Cross-platform testing system
The testing and packaging pieces are commonly referred to by their component names, CTest and CPack. One user quoted on the site, Keith Bennett of DroneUp, says the combination of "CMake, CTest, and CPack" simplified both deployments and code safety, which reflects how the three are typically used together.
What the cmake.org Website Offers
The site is organized around a few practical entry points:
| Section | What you get |
|---|---|
| Getting Started / Documentation | The primary route for learning how to use CMake and for looking up behavior |
| Resources | A collection of material for successfully leveraging CMake |
| Blog | Project news and articles from the maintainers |
| Training | On-demand and live courses taught by the people who build and maintain CMake |
| Support | Help with custom CMake builds, support, and training via Kitware |
Documentation and getting started
The "Getting Started" and "Documentation" links are the first stop for anyone new to the tool. This is where you go to understand how to configure a project, what commands are available, and how CMake behaves across platforms.
Training
Two formats are listed:
- On-Demand Training — a self-paced CMake course you can work through on your own schedule.
- Live Training — led by the developers who build and maintain CMake, with summer and fall sessions listed. Kitware runs courses throughout the year and can also create a custom course for a team.
The site frames both as a way to "learn how to use our platforms from the experts who developed them," which is the main differentiator versus third-party tutorials.
Support and custom work
If the documentation and training do not cover your situation, Kitware — the company behind CMake — offers custom CMake builds, support, and training. The site directs you to a contact form for this.
Who Runs It
CMake is developed by Kitware Inc. The site also lists contributors including the National Library of Medicine, the National Alliance for Medical Image Computing, and Sandia National Laboratories' Advanced Simulation and Computing program.
When cmake.org Is the Right Place to Start
- You are starting a new C++ project and want a build setup that works across platforms.
- You are migrating from another build system. One quoted engineer, James Armes of Medtronic, describes switching from bjam as "a massive boost to our organization's development efficiency."
- You need to connect multiple small project libraries, which one user, Ashish Patil of John Deere, cites as a reason CMake is "platform independent and easy to set up complex projects."
- You want structured training rather than assembling knowledge from scattered sources.
If you only need to install CMake and run a build, the documentation section is sufficient. If your team needs a tailored setup or ongoing help, the support and training paths on the same site are the relevant next step.