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.

CMake
software
Logo
Logo
output di CMake
output di CMake
output di CMake
GenereAutomazione dello sviluppo
SviluppatoreAndy Cedilnik, Bill Hoffman, Brad King, Ken Martin, Alexander Neundorf
Data prima versione2000
Ultima versione3.29.2 (11 aprile 2024)
Sistema operativoMultipiattaforma
LinguaggioC++
C
ToolkitQt
LicenzaBSD 3-clausole
(licenza libera)
Sito webcmake.org/

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

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

Voci correlate modifica

Altri progetti modifica

Collegamenti esterni modifica

  Portale Software libero: accedi alle voci di Wikipedia che trattano di Software libero