Additional Information

Open-source software tool for managing the build process of software!

Latest Version Cmake 3.20.2 (64-bit)

Windows 7 64 / Windows 8 64 / Windows 10 64

Updated April 30, 2021
Author Kitware, Inc.
Category Developer Tools
License Open Source
Language English
Download 161


CMake is an open-source, cross-platform family of tools designed to build, test and package software. The app is used to control the software compilation process using simple platform and compiler independent configuration files, and generate native makefiles and workspaces that can be used in the compiler environment of your choice. The suite of the tools was created by Kitware in response to the need for a powerful, cross-platform build environment for open-source projects such as ITK and VTK.

CMake 64 bit is an extensible, open-source system that manages the build process in an operating system and in a compiler-independent manner. Unlike many cross-platform systems, It is designed to be used in conjunction with the native build environment. Simple configuration files placed in each source directory (called CMakeLists.txt files) are used to generate standard build files (e.g., makefiles on Unix and projects/workspaces in Windows MSVC) which are used in the usual way. It can generate a native build environment that will compile source code, create libraries, generate wrappers, and build executables in arbitrary combinations.

It supports in-place and out-of-place builds, and can, therefore, support multiple builds from a single source tree. It also supports static and dynamic library builds. Another nice feature of the app is that it generates a cache file that is designed to be used with a graphical editor. For example, when CMake runs, it locates files, libraries, and executables, and may encounter optional build directives. This information is gathered into the cache, which may be changed by the user prior to the generation of the native build files.

CMake is designed to support complex directory hierarchies and applications dependent on several libraries. For example, It supports projects consisting of multiple toolkits (i.e., libraries), where each toolkit might contain several directories, and the application depends on the toolkits plus additional code. It can also handle situations where executables must be built in order to generate code that is then compiled and linked into a final application. Because the app is open source and has a simple, extensible design, It can be extended as necessary to support new features.

Features and Highlights
  • Supports complex, large build environments. It has been proven in several large projects.
  • Generates native build files (e.g., makefiles on Unix; workspaces/projects on MS Visual C++). Therefore standard tools can be used on any platform/compiler configuration.
  • Has powerful commands include the ability to locate include files, libraries, executables; include external CMake files that encapsulate standard functionality; interfaces to testing systems; supports recursive directory traversal with variable inheritance; can run external programs; supports conditional builds; supports regular expression expansion; and so on.
  • Supports in-place and out-of-place builds. Multiple compilation trees are possible from a single source tree.
  • It can be easily extended to add new features.
  • It operates with a cache designed to be interfaced with a graphical editor. The cache provides optional interaction to conditionally control the build process.

If you are looking for Cmake (64-bit) alternatives, we recommend you to download Apache Maven or Gradle.

Previous versions More »

3.20.2 April 30, 2021 26.5 MB 3.20.1 April 10, 2021 26.5 MB 3.20.0 March 25, 2021 26.4 MB 3.19.7 March 17, 2021 25.9 MB 3.19.6 February 26, 2021 25.9 MB 3.19.5 February 17, 2021 25.9 MB