martedì 5 febbraio 2013

CMake


Guardando un po' a giro mi sono reso conto di quanto sono arretrato ....ero rimasto al fatto che autotools e' una cosa figa mentre e' stata sorpassata da altri concorrenti come CMake ed ho deciso di provarlo con il programma descritto a questo post

Per provare Cmake (che non e' installato di default in Debian) si deve creare il file CMakeLists.txt dove sono contenute le informazioni di compilazione come nel Makefile come il link verso la libreria SDL

CMakeLists.txt
----------------------------------------

cmake_minimum_required(VERSION 2.8)
PROJECT(CMake_TEST)
FIND_PACKAGE(SDL REQUIRED)
ADD_DEFINITIONS(-Wall -O3)
INCLUDE_DIRECTORIES(${SDL_INCLUDE_DIR})
ADD_EXECUTABLE(cmake_test test.cpp)
TARGET_LINK_LIBRARIES(cmake_test ${SDL_LIBRARY})
----------------------------------------

a questo punto, con il solo file sorgente e il CMakeLists.txt nella directory, si lancia
cmake .   (attenzione al punto)
vengono generati automaticamente altri file e se non ci sono errori si puo' digitare
make 
per compilare l'eseguibile

L'aspetto piu' interessante di CMake e' di essere indipendente dalla piattaforma e dal compilatore e puo' generare file di compilazione di Linux e Windows per i diversi compilatori supportati

Ovviamente non ha senso di usare Cmake per un caso cosi' semplice come quello utilizzato nell'esempio (e' sempre piu' veloce utilizzare la linea di comando per lanciare gcc, anche bypassando make)