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.

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.

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.

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.