CMake je multiplatformní systém pro automatizaci sestavování aplikací, který umožňuje vývojářům řídit proces sestavování softwaru s jednoduchostí a účinností.
S ním lze snadno vytvářet a konfigurovat projekty na různých platformách a s různými kompilátory. Jednou z hlavních výhod CMake je možnost sestavení knihoven, které jsou nedílnou součástí vývoje softwaru.
Sestavení knihovny pomocí CMake lze provést následovně:
- Vytvořte soubor CMakeLists.txt v kořenovém adresáři vašeho projektu.
- Identifikujte název své knihovny pomocí příkazu add_library() a pokyny k cestě k původním souborům.
- V případě potřeby zadejte možnosti sestavení a další závislosti na vaší knihovně.
- Určete instalaci souborů vaší knihovny pomocí příkazu install().
Pomocí těchto kroků budete moci vytvořit a nakonfigurovat svou knihovnu pomocí CMake. Stačí zadat požadované nastavení sestavení a závislosti vašeho projektu a CMake pro vás automaticky sestaví a sestaví knihovnu. To výrazně zjednodušuje vývoj a podporu projektů pomocí knihoven.
Proces sestavení knihovny pomocí CMake se může na první pohled zdát složitý, ale jakmile se naučíte základy, můžete snadno vytvářet a konfigurovat knihovny na různých platformách a s různými kompilátory.
Příprava na stavbu knihovny
Před zahájením sestavení knihovny pomocí CMake je třeba provést několik předběžných kroků.
1. Nastavení závislostí
Před zahájením práce se musíte ujistit, že jsou na vašem systému nainstalovány všechny potřebné závislosti. Zkontrolujte, zda jsou nainstalovány následující komponenty:
| Komponent | Verze |
| Systémový kompilátor | Kompilátor C/C++ (např. GCC, Clang, MSVC) |
| CMake | Minimální požadovaná verze: 3.12 |
| Knihovny a záhlaví souborů | Záleží na konkrétní knihovně, kterou chcete sestavit. Nastavte všechny potřebné závislosti. |
2. Vytvoření adresáře pro sestavení
Doporučuje se vytvořit samostatný adresář pro sestavení knihovny, aby nedošlo k ucpání původních souborů projektu. Vytvořte nový prázdný adresář, který bude sloužit jako adresář pro sestavení knihovny. Například:
mkdir buildcd build
3. Konfigurace projektu pomocí CMake
Nyní, když máte adresář pro sestavení, můžete Projekt nakonfigurovat pomocí CMake. Spusťte následující příkaz v adresáři pro sestavení:
cmake
Tato cesta by měla vést do kořenového adresáře zdrojových souborů vaší knihovny. Pokud cesta obsahuje mezery, zabalte ji do uvozovek. Například:
cmake ../my_library
4. Nastavení parametrů sestavení (volitelné)
Ve výchozím nastavení CMake vygeneruje projekt pro sestavení knihovny pomocí nejběžnějších možností. V případě potřeby však můžete změnit nastavení sestavení. Můžete například zadat adresář pro instalaci knihovny, nakonfigurovat kompilátor nebo povolit/zakázat určité funkce. Více o nastavení parametrů sestavení najdete v dokumentaci CMake.
5. Generování souborů projektu
Po konfiguraci projektu spusťte příkaz pro generování souborů projektu v adresáři pro sestavení:
cmake --build .
Nyní jste připraveni začít stavět svou knihovnu!
Nastavení CMake a nastavení prostředí
Chcete-li sestavit knihovnu pomocí CMake, musíte nejprve nainstalovat CMake a nakonfigurovat prostředí. V této části se podíváme na kroky instalace CMake a nastavení prostředí na různých operačních systémech.
Instalace CMake
Chcete-li nainstalovat CMake na Windows, musíte si stáhnout instalační balíček z oficiálních stránek CMake (https://cmake.org/download/). poté spusťte instalační program a postupujte podle pokynů na obrazovce. Po dokončení instalace, můžete zkontrolovat, že CMake je nainstalován otevřením příkazového řádku a spuštěním příkazu cmake --version .
Na macOS můžete k instalaci CMake použít dávkový Správce Homebrew. Otevřete terminál a spusťte následující příkaz:
| brew install cmake |
Na Linuxu lze instalaci CMake provést prostřednictvím Správce dávkové distribuce. Chcete-li například nainstalovat na Ubuntu, spusťte příkaz:
| sudo apt-get install cmake |
Nastavení prostředí
Po instalaci CMake je nutné nakonfigurovat prostředí pro projekt. Chcete-li to provést, vytvořte složku, ve které bude váš projekt hostován, a přejděte do ní pomocí příkazu cd .
Poté vytvořte soubor CMakeLists.txt v kořenové složce projektu a otevřete ji v textovém editoru. V tomto souboru budete popisovat nastavení projektu pro CMake.
Začněte uvedením minimální verze CMake, která je nezbytná pro sestavení vašeho projektu. Pokud například váš projekt vyžaduje CMake verzi 3.10 nebo vyšší, přidejte do souboru CMakeLists následující řádek.txt :
| cmake_minimum_required(VERSION 3.10) |
Poté identifikujte název svého projektu pomocí příkazu project, například:
| project(my_library) |
Dále můžete přidat další nastavení pro váš projekt, jako je seznam zdrojových souborů a možnosti kompilátoru. Podrobněji popsat všechny možnosti konfigurace projektu v CMake v rámci tohoto článku není možné, ale podrobnější informace si můžete přečíst v dokumentaci CMake.
Po dokončení nastavení prostředí uložte soubor CMakeLists.txt a zavřete. Nyní je vaše okolí nastaveno a jste připraveni začít vytvářet knihovnu pomocí CMake.
Struktura projektu a soubor CMakeLists.txt
Pro úspěšné sestavení knihovny pomocí CMake je nutné mít určitou strukturu projektu a také mít soubor CMakeLists.txt. V této části se podíváme na to, jak by měla vypadat struktura projektu a jak nakonfigurovat soubor CMakeLists.txt pro sestavení knihovny.
Struktura projektu je obvykle následující:
| Název složky | Obsah složky |
|---|---|
| include | Hlavičkové soubory (.h, .hpp) |
| src | Výchozí soubor (.cpp) |
| tests | Testy pro knihovnu |
Zde složka "include" obsahuje všechny veřejné záhlaví souborů, které budou k dispozici pro použití v externích projektech. Složka " src "obsahuje původní soubory samotné knihovny a složka" tests " obsahuje testy pro kontrolu stavu knihovny.
Nyní přejděme k souboru CMakeLists.txt. Tento soubor je klíčový pro sestavení projektu pomocí CMake. Zde je příklad jednoduchého Cmakelisty.txt souboru:
cmake_minimum_required(VERSION 3.10)# Установка имени проектаproject(mylib)# Добавление папки с заголовочными файламиinclude_directories(include)# Добавление всех исходных файлов из папки srcfile(GLOB SOURCES "src/*.cpp")# Создание статической библиотекиadd_library(mylib STATIC $)# Добавление папки с тестамиadd_subdirectory(tests)
V tomto příkladu uvedeme minimální verzi CMake, zadáme název projektu a přidáme složku s hlavičkovými soubory. Poté použijeme příkaz " file (GLOB SOURCES "src/*.cpp") "pro přidání všech zdrojových souborů ze složky "src". Dále vytvoříme statickou knihovnu pomocí příkazu " add_library (mylib static $)". A nakonec přidáme složku s testy pomocí příkazu " add_subdirectory (tests)".
Toto je pouze příklad jednoduchého souboru CMakeLists.txt, ale ve skutečných projektech může obsahovat další příkazy a nastavení, v závislosti na požadavcích projektu.
V této části jsme se zabývali hlavními aspekty struktury projektu a souboru CMakeLists.TXT potřebné k sestavení knihovny pomocí CMake. V další části si povíme, jak kompilovat a spouštět testy pro knihovnu.
Generování Makefile a sestavení knihovny
Po vytvoření souboru CMakeLists.txt a nakonfigurujte potřebné proměnné a směrnice, jste připraveni na generování Makefile a sestavení knihovny.
Chcete-li vygenerovat Makefile pomocí CMake, můžete použít následující příkaz na příkazovém řádku:
Naskenuje aktuální adresář, kde je váš CMakeLists.TXT soubor, a vytvoří Makefile ve stejném adresáři.
Po úspěšné generování Makefile můžete sestavit knihovnu pomocí nástroje make spuštěním následujícího příkazu:
Makefile použije pokyny a vlajky uvedené ve vašich příkazech add_executable() a add_library () k sestavení a sestavení knihovny.
Ve výchozím nastavení bude shromážděná knihovna umístěna do adresáře CMakeFiles/ uvnitř adresáře s původními soubory vašeho projektu.
Pokud kompilace a sestavení byly úspěšné, můžete v adresářích, které jste zadali, najít generované soubory knihovny a spustitelného souboru. Nezbude vám než do projektu zapojit vygenerovanou knihovnu a využít její funkčnost.
Nyní víte, jak vygenerovat Makefile a sestavit knihovnu pomocí CMake. Nastavení CMakeLists.soubory TXT mohou být náročné, ale s praxí budete moci tento nástroj zvládnout a použít jej k sestavení projektů jakékoli složitosti.
Vytvoření adresáře sestavení a volání příkazu CMake
Před zahájením sestavení knihovny pomocí CMake je nutné vytvořit samostatný adresář pro sestavení projektu. V tomto adresáři budou uloženy všechny soubory související s procesem sestavení.
K vytvoření adresáře sestavení lze v příkazovém řádku použít následující příkaz:
mkdir build
Po vytvoření adresáře sestavení do něj musíte přejít pomocí příkazu cd :
cd build
Nyní, když jsme v adresáři sestavení, je možné vyvolat příkazy CMake pro sestavení projektu. Začněme nastavením projektu vyvoláním příkazu cmake, který ukazuje cestu k kořenovému adresáři projektu:
cmake ..
Při volání příkazu cmake označíme dva body."."jako argument pro označení souboru CMakeLists.txt je v nadřazeném adresáři projektu.
Po úspěšném nastavení projektu pomocí příkazu CMake můžete spustit příkaz sestavení samotného projektu. Ve většině případů to bude příkaz make :
make
Příkaz make provede proces sestavení projektu na základě pokynů definovaných v souboru CMakeLists.txt. Výsledkem práce týmu bude shromážděná knihovna v adresáři build.
V případě úspěšného dokončení sestavení můžete ve svém projektu nebo aplikaci použít sestavenou knihovnu.