CMake

Da Wikipedia, l'enciclopedia libera.
CMake
Logo
output di CMake
output di CMake
Sviluppatore Andy Cedilnik, Bill Hoffman, Brad King, Ken Martin, Alexander Neundorf
Ultima versione 2.8.12 (11 ottobre 2013)
Sistema operativo Multipiattaforma
Linguaggio
Genere Automazione dello sviluppo
Licenza Licenza BSD
(Licenza libera)
Sito web www.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 sorgente]

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 ed il loro utilizzo è possibile mediante un apposito file chiamato CMakeLists.txt.

Un tipico e semplicissimo esempio di CMakeLists.txt è il seguente:

PROJECT(matematica)
 
ADD_DEFINITIONS(-pipe -O2 -mtune=native)
 
ADD_EXECUTABLE(
    ../bin/matematica
    src/main.cpp
)

Per la generazione del Makefile e la successiva compilazione del progetto, è necessario eseguire i seguenti comandi:

 mkdir build
 cd build
 cmake ..
 make

I primi due comandi possono essere anche evitati, ma in questo modo si evita di sporcare il progetto, così da avere tutto ciò che serve per la compilazione, all'interno della directory build.

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 sorgente]

Voci correlate[modifica | modifica sorgente]

Collegamenti esterni[modifica | modifica sorgente]

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