Cmake 3.27.6 (32-bit) LATEST
Windows 7 / Windows 8 / Windows 10 / Windows 11
User Rating:Click to vote
Author / Product:
CMake 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.