CMake Build Automation App

CMake

by Kitware

Cross-platform tools designed to build, test and package software
Helps with: Build Automation
Similar to: Hudson App Rational ClearCase App TeamCity App A-A-P App More...
Source Type: Open
License Types:
BSD
Supported OS:
Languages: Other

What is it all about?

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, CMake 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.

Key Features

* CMake can generate a native build environment that will compile source code, create libraries, generate wrappers and build executables in arbitrary combinations. * CMake supports in-place and out-of-place builds, and can therefore support multiple builds from a single source tree. * CMake also supports static and dynamic library builds. Another nice feature of CMake 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, CMake 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. * CMake 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 CMake is open source, and has a simple, extensible design, CMake can be extended as necessary to support new features. * Using CMake is simple. The build process is controlled by creating one or more CMakeLists.txt files in each directory (including subdirectories) that make up a project. Each CMakeLists.txt consists of one or more commands. Each command has the form COMMAND (args…) where COMMAND is the name of the command, and args is a white-space separated list of arguments. * CMake provides many pre-defined commands, but if you need to, you can add your own commands. In addition, the advanced user can add other makefile generators for a particular compiler/OS combination. (While Unix and MSVC++ is supported currently, other developers are adding other compiler/OS support.) You may wish to study the examples page to see more details.


Pricing

Yearly
Monthly
Lifetime
Free
Freemium
Trial With Card
Trial No Card
By Quote

Description

FREE

Alternatives

View More Alternatives

View Less Alternatives

Top DiscoverSDK Experts

User photo
20
ahmedxp kh
Ahmedxp PC ENG
Multimedia | Hardware and RT and 123 more
View Profile
User photo
20
Kaleb Himes
Support Lead and Software Engineer - wolfSSL Inc.
Hardware and RT | Networking and 20 more
View Profile
User photo
20
Redentor Del Rosario
Cyber Security
Multimedia | Hardware and RT and 122 more
View Profile
User photo
20
Esma Rucolli
Engineering.....my dream 💖
Hardware and RT | General Libraries and 87 more
View Profile
Show All

Interested in becoming a DiscoverSDK Expert? Learn more

X

Compare Products

Select up to three two products to compare by clicking on the compare icon () of each product.

{{compareToolModel.Error}}

Now comparing:

{{product.ProductName | createSubstring:25}} X
Compare Now