Features at a glance
Key features include support for complex, large build environments, the ability to generate native build files, powerful commands that allow developers to locate include files, executables and libraries, external CMake files that contain standard functionality, interface with testing systems, as well as support for recursive directory traversal with variable inheritance.
Additionally, CMake supports out-of-place and in-place builds, supports conditional builds, supports regular expression expansion and multiple compilation trees from a single source tree. It can be easily extended to add new features, and includes the ability to run external programs.
The program comes with numerous command-line options, organized in two major sections, Options and Generators. Developers will be able to populate the cache by pre-loading scripts, generate cmake cache entries, enable or suppress developer warnings, specify a build system generator and toolset name, as well as to run it in various modes or print various information.
On the other hand, the CMake compiler lets you to generate standard UNIX makefiles, build.ninja files, as well as project files for CodeBlocks, CodeLite, Eclipse, KDevelop, Kate, and Sublime Text 2.
Supported operating systems
Besides GNU/Linux, CMake has been successfully tested under the commercial Microsoft Windows and Mac OS X operating systems. Both 64-bit and 32-bit instruction set architectures are supported at this time.
Under the hood and availability
CMake is written entirely in the C++ programming language, it’s a cross-platform software (see below section for supported operating systems) and it is available for download as a universal sources tarball, as well as pre-built binary packages for the aforementioned OSes.
Reviewed by Marius Nestor, last updated on December 18th, 2014
In a hurry? Add it to your Download Basket!
- Windows Phone and Windows Store support has been added to Visual Studio 11 (2012) and above Generators.
- NVIDIA Nsight Tegra support has been added to Visual Studio 10 (2010) and above Generators.
- New "target_compile_features" command allows populating target based compile features. CMake uses this information to ensure that the compiler in use is capable of building the target, and to add any necessary compile flags such as -std=gnu++11 to support language features. More information on this is found at: - http://www.cmake.org/cmake/help/v3.1/manual/cmake-compile-features.7.html
- The syntax for *Variable References* and *Escape Sequences* was simplified in order to allow a much faster implementation. See policy "CMP0053".
Application descriptionCMake is an open source command-line software that has been designed to act as a compiler for GNU/Linux programs. It i...