CMake

Z Wikipedie, otevřené encyklopedie
Skočit na navigaci Skočit na vyhledávání
CMake
Logo
Cmake screenshot.png
Vývojář Andy Cedilnik, Bill Hoffman, Brad King, Ken Martin, Alexander Neundorf
Aktuální verze 3.15.3 (4. září 2019)
Operační systém multiplatformní
Vyvíjeno v C++
Typ softwaru vývoj software
Licence BSD licence
Web www.cmake.org
Některá data mohou pocházet z datové položky.

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í systém často vázanými, překladači. Například program make na Unixových strojích, Xcode firmy Apple, nebo Microsoft Visual Studio na systé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é soubor Makefile 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)