CMake
CMake software | |
---|---|
output di CMake | |
Genere | Automazione dello sviluppo |
Sviluppatore | Andy Cedilnik, Bill Hoffman, Brad King, Ken Martin, Alexander Neundorf |
Data prima versione | 2000 |
Ultima versione |
|
Sistema operativo | Multipiattaforma |
Linguaggio | C++ C |
Toolkit | Qt |
Licenza | BSD 3-clausole (licenza libera) |
Sito web | cmake.org/ |
CMake è un software libero multipiattaforma per l'automazione dello sviluppo il cui nome è un'abbreviazione di cross platform make. Questo software nasce per rimpiazzare Automake nella generazione dei Makefile, cercando di essere più semplice da usare. Infatti, nella maggior parte dei progetti, non esiste un Makefile incluso nei sorgenti, dato che questo non è portabile.
Per la compilazione del programma è necessario verificare che siano incluse tutte le librerie e scovare i loro percorsi all'interno del file system. Proprio per questo motivo, è impossibile avere un Makefile già scritto.
A questo punto, il tool Automake, doveva eseguire una precisa ricerca di tali librerie e infine, se non si sono riscontrati errori, la definitiva creazione del Makefile per la successiva compilazione. Questo avveniva con:
./configure make make install
La creazione di un configure non è proprio facilissima. Proprio per questo interviene il nuovo sistema di generazione di Makefile: CMake.
Utilizzo
[modifica | modifica wikitesto]CMake è un tool molto modulare che, con poche e concise istruzioni, è in grado di generare Makefile a puntino. CMake dispone di una particolare sintassi comprensiva di moltissime macro e il loro utilizzo è possibile mediante un apposito file chiamato CMakeLists.txt.
Un tipico e semplicissimo esempio di CMakeLists.txt è il seguente:
cmake_minimum_required(VERSION 3.27)
project(matematica)
add_executable(matematica
src/main.cpp
)
target_link_libraries(matematica
Boost::boost
)
Per la generazione del Makefile e la successiva compilazione del progetto, è necessario eseguire i seguenti comandi:
cmake -B build .
cmake --build build
Il primo comando configura e genera gli script per effettuare la build del progetto, all'interno della directory build, il secondo fa partire la compilazione.
Mediante CMake si crea effettivamente un Makefile astratto, mentre la sua creazione concreta avviene nel particolare sistema operativo utilizzato.
Applicazioni che usano CMake
[modifica | modifica wikitesto]- KDE (partendo dalla versione 4)
- FreeFOAM versione di OpenFOAM
- ITK
- VTK
- OpenSceneGraph
- Scribus
- Quantum GIS
- ROS - Robotic Operating System
- LLVM, su llvm.org.
- Netflix
Voci correlate
[modifica | modifica wikitesto]Altri progetti
[modifica | modifica wikitesto]- Wikimedia Commons contiene immagini o altri file su CMake
Collegamenti esterni
[modifica | modifica wikitesto]- (EN) Sito ufficiale, su cmake.org.
- CMake, su packages.debian.org.
- Repository sorgenti di CMake, su gitlab.kitware.com.
- Sito di segnalazione bug, su gitlab.kitware.com.
- (EN) CMake, su Free Software Directory.
- Perché il progetto KDE è passato a CMake — e come, su lwn.net.