Néhány napja Megjelent a CMake 3.15 platformon átívelő, nyílt forráskódú szkriptgenerátor amely az Autotools alternatívájaként működik, és olyan projektekben használják, mint a KDE, az LLVM / Clang, a MySQL, a MariaDB, a ReactOS és a Blender.
A CMake egy többplatformos kódgeneráló vagy automatizáló eszköz. A név a "cross platform make" (keresztplatform gyártása) rövidítése, a névben a "make" használatán túlA CMake egy külön csomag és magasabb szintű, mint a közös gyártmányú rendszer hasonlóan az autotools-hoz.
A CMake-ről
CMake figyelemre méltó egyszerű szkriptnyelv biztosításával, eszközök a funkcionalitás kiterjesztésére a modulok között, minimális számú függőség (nincs kötelező kötés az M4, Perl vagy Python számára), gyorsítótár-támogatás, a kereszthelyezéshez szükséges eszközök elérhetősége, az összeállítási fájlok generálásának támogatása széles körű fordítórendszerek és fordítók számára.
A ctest és a cpack segédprogramok a teszt forgatókönyvek és a csomagkészítés meghatározásához, a cmake-gui segédprogrammal a build paraméterek interaktív konfigurálásához.
A CMake segítségével a szoftver fordítási folyamatát egyszerű és független konfigurációs fájlok segítségével lehet irányítani a platform. A Cmake létrehoz natív makefájlokat és munkaterületeket, amelyek felhasználhatók a kívánt fejlesztési környezetben.
Összehasonlítható a Unix GNU build rendszerével, mivel a folyamatot konfigurációs fájlok vezérlik, a CMake esetében a CMakeLists.txt nevet.
Ellentétben a GNU build rendszerrel, amely Unix platformokra korlátozódikA CMake támogatja a fájlok generálását különféle operációs rendszerek számára, ami megkönnyíti a karbantartást és feleslegessé teszi, hogy minden platformhoz több fájlkészlet legyen.
Az összeállítási folyamatot egy vagy több CMakeLists.txt fájl létrehozásával lehet vezérelni minden könyvtárban (beleértve az alkönyvtárakat is).
A CMake kódot C ++ nyelven írják, és a BSD licenc alatt terjesztik.
CMake 3.15 Fő új funkciók
Ez az új verzió kiemelte a Swift nyelv kezdeti generátortámogatásának megérkezése Az Apple által kifejlesztett program hozzá lett adva a Ninja Toolkit Assembly Script Generatorhoz.
Ezen kívül, a Clang fordító opciójának támogatása is az ABI MSVC-vel felépített, de a GNU stílusú parancssori opciókat használó Windows esetén.
A fejlesztők hangsúlyozzák, hogy a változók CMAKE_MSVC_RUNTIME_LIBRARY
y MSVC_RUNTIME_LIBRARY
hozzáadódnak a fordítók által használt futásidejű könyvtárak kiválasztásához ABI MSVC
(MS VisualStudio).
Összeállítóknak, mint MSVC
-On CMAKE__FLAGS
Alapértelmezés szerint a figyelmeztető vezérlő zászlók, például a "/ W3" listája leáll.
Az új verzió kiadásának közleményében kiemelt további fejlesztések közül a következőket találjuk:
- Hozzáadta a 'generáló kifejezést'
COMPILE_LANG_AND_ID
: »Változókat használó célfájlok fordítói beállításainak megadásaCMAKE__COMPILER_ID
yLANGUAGE
minden kódfájlhoz - Generátor kifejezések
C_COMPILER_ID, CXX_COMPILER_ID, CUDA_COMPILER_ID,
Fortran_COMPILER_ID, COMPILE_LANGUAGE, COMPILE_LANG_AND_ID
yPLATFORM_ID
adjon hozzá egy értéket egy listához, vesszővel elválasztva - A változó hozzá lett adva
CMAKE_FIND_PACKAGE_PREFER_CONFIG
, amelyben a find_package () hívás először a csomagkonfigurációs fájlt keresi, még akkor is, ha a keresési modul rendelkezésre áll - Az interfészkönyvtárakhoz a tulajdonságok beállításához támogatást adtak
PUBLIC_HEADER y PRIVATE_HEADER
, amelynek fejlécét a telepítés (TARGETS) paranccsal lehet konfigurálni, átadva az argumentumokatPUBLIC_HEADER
yPRIVATE_HEADER
- A változó hozzá lett adva
CMAKE_VS_JUST_MY_CODE_DEBUGGING
és a rendeltetési tulajdonságVS_JUST_MY_CODE_DEBUGGING
a "Just My Code" mód engedélyezéséhez a Visual Studio hibakeresőjében, amikor az MSVC cl 19.05 és újabb verziók használatával fordít. - A FindBoost modult átdolgozták, amelyet a konfigurációs és modul módokban teljesebben dolgoznak más keresési modulok jelenlétében
- A NOTICE, VERBOSE, DEBUG és TRACE típusok támogatása hozzá lett adva az üzenet () parancshoz
- Az "exportálás (PACKAGE)" parancs most nem csinál semmit, amíg azt a változón keresztül kifejezetten engedélyezi
CMAKE_EXPORT_PACKAGE_REGISTRY
.
Ha többet szeretne tudni róla, konzultálhat a következő link.