CMake

Z Wikipedie, otevřené encyklopedie
Skočit na: Navigace, Hledání
CMake
Logo
Vývojář Andy Cedilnik, Bill Hoffman, Brad King, Ken Martin, Alexander Neundorf
Aktuální verze 2.8.11 (22. května 2013)
Operační systém multiplatformní
Vyvíjeno v C++
Typ softwaru vývoj software
Licence BSD licence
Web www.cmake.org

CMake je multiplatformní svobodný software pro automatizaci překladu programu v různých operačních systémech. Používá se pro vytvoření adresářové struktury a přípravu zdrojových souborů pro použití s konkrétními, na operačním systému často vázanými, překladači. Například program make na Unixových strojích, Xcode firmy Apple, nebo Microsoft Visual Studio na sytému Windows.

Historie[editovat | editovat zdroj]

CMake byl vytvořen v roce 1999 v reakci na poptávku po multiplatformním prostředí pro kompilaci softwaru v projektu Insight Segmentation and Registration Toolkit. Původně byl inspirován programem pcmaker, který byl vytvořen Kenem Martinem a dalšími vývojáři firmy Kitware. CMake vznikl spojením funkcí pcmakeru s dalšími vylepšeními, které byly inspirovány unixovými konfiguračními skripty. První verze byla hotova v roce 2000. V následující letech se rychle rozvíjel díky přispění dalších programátorů, kteří jej využívali ve vlastních vývojářských projektech.

Vlastnosti[editovat | editovat zdroj]

CMake zvládá generovat výstup jak do stejné složky, ve které se nachází zdrojové soubory (in-place build), tak do předem vybraného adresáře (out-of-place build). Schopnost generovat výstup do předem určené složky je klíčová — díky ní zůstanou původní zdrojové soubory vždy nedotčené a proces sestavování tak lze libovolně opakovat. Výstupem mohou být projekty pro Microsoft Visual Studio, Eclipse, Code Blocks, Cygwin, MinGW, nebo také makefile.txt pro Unixový program make a mnoho dalších.

Použití[editovat | editovat zdroj]

Proces se nastavuje konfiguračním souborem v kořenovém adresáři nebo volitelně také v podsložkách a má název

CMakeLists.txt

V systému Windows je součástí programu grafické uživatelské rozhraní, přes které lze celý proces pohodlně nakonfigurovat. Na všech systémech je především k dispozici příkaz v příkazové řádce

cmake -argumenty

Soubor CMakeLists.txt může vypadat například takto[1]:

IF(UNIX)
 IF(APPLE)
 SET(GUI "osx")
 ELSE(APPLE)
 SET(GUI "x11")
 ENDIF(APPLE)
ELSE(UNIX)
 IF(WIN32)
 SET(GUI "win32")
 ELSE(WIN32)
 MESSAGE(FATAL_ERROR "Unknown GUI type.")
 ENDIF(WIN32)
ENDIF(UNIX)

ADD_LIBRARY(gui STATIC ${GUI}_gui/main_window.cpp ...)

ADD_EXECUTABLE(foo src/main.cpp ...)
TARGET_LINK_LIBRARIES(foo gui)

Ukázkový kód rozvětví pomocí podmínek IF kompilaci podle operačního systému a dle něj nastaví proměnnou GUI. Ta je použita ve volání ADD_LIBRARY a díky ní se použijí správné soubory pro grafické uživatelské rozhraní. Výstup je nastaven příkazem ADD_EXECUTABLE. V příkladu jím bude spustitelný soubor s názvem "foo".

Reference[editovat | editovat zdroj]

  1. Kulhan, J. CMake:Ulehčete si život, 2006, URL: http://programujte.com/clanek/2009032800-cmake-tutorial

Související články[editovat | editovat zdroj]

Externí odkazy[editovat | editovat zdroj]

(česky)

(anglicky)