| CMake | |
|---|---|
| Desenvolvedores | Andy Cedilnik, Bill Hoffman, Brad King, Ken Martin, Alexander Neundorf |
| Lançamento inicial | 2000 (25–26 anos) |
| Lançamento estável | 3.28.2
/ 29 de janeiro de 2024 |
| Versão beta | 3.28.0-rc5
/ 23 de novembro de 2023 |
| Repositório | gitlab |
| Escrito em | C, C++ |
| Sistema operacional | Multiplataforma |
| Tipo | Ferramenta de desenvolvimento de software |
| Licença | New BSD |
| Website | cmake |
CMake é um sistema multiplataforma para realizar geração automatizada. É comparável com o programa Unix Make no qual o processo de geração é, ao final, controlado pelos arquivos de configuração, no caso do CMake chamados de arquivos CMakeLists.txt. Diferente de Make, ele não gera diretamente o software final, mas em vez disso gera arquivos de geração padrões (por exemplo, makefiles em Unix e projetos/espaços de trabalho no Visual C++ no Windows) os quais são usados de modo comum. Isto permite que desenvolvedores familiarizados com um ambiente de desenvolvimento particular (tal como as várias IDEs) utilizem-o no modo padrão. É esta utilização do ambiente de geração nativo que distingue CMake dos outros sistemas mais conhecidos como o SCons. CMake pode compilar código fonte, cria bibliotecas, gerar empacotadores e construir executáveis em combinações variáveis. Ele também suporta gerações ordenadas (in-place) e desordenada (out-of-place) e pode portanto suportar múltiplas gerações de uma única árvore fonte. CMake também suporta gerações estática e dinâmica de biblioteca.
O nome "CMake" é uma abreviação de "cross plataform make", ou em português make multiplataforma. Apesar do uso de "make" no nome, CMake é um conjunto de aplicações de alto nível e separado do sistema make, comum no desenvolvimento em Unix.
Softwares construídos usando o CMake incluem: MySQL, Boost (bibliotecas de C++), KDE/KDE Plasma 5 — Ambiente de Desktop para sistemas baseados em Linux, KiCAD, FreeCAD, Webkit e editor gráfico 3D Blender.
O software usado pelo experimento ATLAS é construído usando o CMake. O software em si é escrito em C/C++ e Python.