Build with CMake. Build with Confidence.
The CMake system makes it easier to build, test, and package a C++ project. CMake helps teams develop high-quality, well-tested, cross-platform code with confidence.
Why should your team use CMake?
CMake is efficient.
- CMake lets developers spend more time writing code and less time figuring out the build system
- CMake is open source and free to use for any project
CMake is powerful.
- CMake supports multiple development environments and compilers on the same project (e.g., Visual Studio IDE, QtCreator, JetBrains, vim, emacs, gcc, MSVC, clang, Intel)
- CMake supports multiple languages including C/C++/CUDA/Fortran/Python, and also supports running arbitrary custom commands as part of the build
- CMake supports continuous integration (CI) testing in concert with Jenkins, Travis, CircleCI, GitlabCI, and almost any CI system via CTest. Test results are displayed using CDash (www.cdash.org).
- CMake supports integration of 3rd party libraries into your project.
CMake is a top choice of development teams.
- CMake is the defacto standard for building C++ projects
- Many C++ projects are switching to CMake; it is the 6th fastest growing language on github according to the 2018 Octoverse report
- CMake is a mature and well tested with a broad developer community, it has undergone continuous improvement since 2000
Want help with your current CMake code? Are you ready to switch to CMake?
We can help. We created CMake in early 2000 to help build the Insight Toolkit and provide an easy way for C++ developers to work together on large C++ projects. We have been directing CMake’s growth and maintenance ever since. We offer several CMake support packages to get your team moving quickly.
Switch to CMake
If you would like to transition to CMake but do not have the time or expertise, we can help. We have years of experience creating CMake build systems for projects. Large or small, we can move your project to CMake.
Ready to make the switch?
Get started with CMake
Our team will review your code base and help you choose the best option for you.
Small Project
—- Custom CMake build files
- Multiple target platforms for your cross-platform code
- Custom CMake build files for your external libraries
- The conversion of unit tests to CMake
- New installers for your project for your target platforms
Medium Project
—- Custom CMake build files
- Multiple target platforms for your cross-platform code
- Custom CMake build files for your external libraries
- The conversion of unit tests to CMake
- New installers for your project for your target platforms
Large Project
—- Custom CMake build files
- Multiple target platforms for your cross-platform code
- Custom CMake build files for your external libraries
- The conversion of unit tests to CMake
- New installers for your project for your target platforms
Custom Project
Contact Kitware for pricing- Custom CMake build files
- Multiple target platforms for your cross-platform code
- Custom CMake build files for your external libraries
- The conversion of unit tests to CMake
- New installers for your project for your target platforms
Onsite CMake Training
Want to raise your CMake IQ? We will send an experienced CMake developer to train your team. The developer will cover basic CMake concepts as well advanced features, and the training will end with a lengthy Q&A session.
Learn about our training options
Schedule a training
Contact us to let us know your needs and we can help you choose the best training package for you.
Small Course
—- 1 instructor
- Ideal for 1-10 students
- –
- –
Medium Course
—- 2 instructors
- Ideal for 11-20 students
- –
- –
Large Course
—- 3 instructors
- Ideal for 21-30 students
- –
- –
Custom Course
Contact Kitware for pricing- Custom topics
- Focus on your codebase
- Larger class sizes
- Short notice planning
- Special venues
Note: All courses are taught by a member of the CMake development team who will travel to your site. They include the following:
- a digital copy of all slides and examples
- one-and-a-half days of teaching and a half-day of CMake office hours/Q&A Session
- a mix of short lectures and hands-on examples
CMake support
Want to have CMake experts ready to help your development team? We will be here to answer your CMake questions. We offer support packages for any team size.
Learn about our support options
Get support
Contact us to let us know your needs and we can help you choose the best support option for you.
Small Team
Annual Support- Up to 50 hours of email-based support
- Quarterly video chat check-in
- –
- –
- –
Large Team
Annual Support- Up to 150 hours of support via private issue tracker
- Quarterly video chat check-in
- –
- –
- –
Enterprise
Annual Support- Up to 600 hours of support via private issue tracker
- Monthly video chat office-hour session
- Two-day onsite training session
- A dedicated support wiki page
- A dedicated account representative
Custom Support
Contact Kitware for pricing- Larger support volumes
- Additional training
- Custom development
- Support for other Kitware open source projects like ParaView and VTK
- Additional video chat sessions
Custom CMake Development
Need a feature, bug fix, or code review? Want to ensure you are implementing your CMake build system correctly? Looking for a CMake developer to temporarily join your team?
We offer CMake development services that we can tailor to your project needs.
Get started today
Our team will discuss your needs and create a proposal to address your project goals.