CMake Wiki

CMake Community Wiki

Welcome to the CMake community wiki! Anyone is welcome to sign in, request access to this wiki using the button on this page, and contribute new pages or updates to existing pages. Please follow the Editing Guidelines.

Please note that not all pages are maintained. Material on some pages may be deprecated or considered bad practice. Other pages may cover long-outdated material but are kept for historical reference. Updates are welcome on all pages, even if just to identify their status.

See the official CMake Documentation for authoritative reference material maintained by CMake developers and contribuors.

This wiki contains pages on all CMake-related tools including:


Primary Resources - Look here first!

Reference Material

The CMake Language





Basic Introductions

Finding stuff and platform checking

How to use CMake with specific Libraries

  • Qt with CMake Explains how to use CMake to build software with Qt4, Qt3 and KDE3.


For CMake Development

Converters from other buildsystems to CMake

All converters listed here are not "complete", i.e. the generated CMake files are not 100% finished, in all cases some work is left for the developer.


  • am2cmake (requires Ruby) Converts automake/autotools/libtool based projects to CMake, specialized in converting from KDE 3 to KDE 4, should also work for others. This one has been used for converting the KDE buildsystem to CMake.


Visual Studio

  • cmake-converter (requires Python) Github project This project aims to facilitate the conversion of Visual Studio solution to CMake projects. The goal is to give to a Python script, a *.sln file, and output a set of CMakeLists.txt that may be used for generating visual studio solution backward as perfect as possible. Supports (.vcxproj/.vfproj). May be installed from pypi.
  • vcproj2cmake.rb (requires Ruby) SourceForge project Creates and maintains CMakeLists.txt files by extracting info from Visual Studio project files (.vcproj/.vcxproj). Elaborate script for development side-by-side the updated original static .vc[x]proj files, supports script hooks and powerful definition mappings. Patches and new project members very welcome. Older script versions below:
  • vcproj2cmake.ps1(PowerShell version) Creates CMakeLists.txt. it supports vcproj configuration and detect 'exclude from build' option
  • folders4cmake (requires Java) Use Visual Studio project files to generate corresponding "source_group" information that you can use inside your own CMake scripts. Supports Visual Studio 9/10 project files (full round-trip possible).

Basic CMakeLists.txt from-scratch-generator

  • gencmake (requires Ruby) Creates basic CMakeLists.txt files from looking at the existing files.
  • CMakeListGenerator (Win32) Creates complete CMakeLists.txt files as described in the README using a combination of file and directory structure analysis. Supports resolving dependencies between multiple archives.

Success Stories

More Topics



  • Testing With CTest Introduces to testing with CTest, submitting dashboards, and using CMake to add tests to the test system.
  • CTest Scripting Describes the scripting with CTest which can significantly simplify and automate testing and submitting dashboards.

More Information

More Topics





Old(deprecated) kept for reference only

This page was initially populated by conversion from its original location in another wiki.