Přeskočit na obsah

CMake

Z Wikipedie, otevřené encyklopedie
CMake
Logo
VývojářAndy Cedilnik, Bill Hoffman, Brad King, Ken Martin, Alexander Neundorf
První vydání2000
Aktuální verze3.31.2 (5. prosince 2024)
Operační systémmultiplatformní
Platformamultiplatformní software
Vyvíjeno vC++
Typ softwaruvývoj software
LicenceBSD licence
Webwww.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.

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.

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".

  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]
  • Logo Wikimedia Commons Obrázky, zvuky či videa k tématu CMake na Wikimedia Commons

(česky)

(anglicky)