Začetek nova različica odprtokodnega generatorja skriptov za več platform CMake 3.17, v katerem razvijalci so delali da dodate novo generator skript z imenom "Ninja Multi-Config", izboljšave generatorja skriptov Visual Studio, splošne optimizacije in še več.
Za tiste, ki ne vedo CMake, to bi morali vedeti je orodje za generiranje ali avtomatizacijo večplatformnih kod ki deluje kot alternativa Autotools in se uporablja v projektih, kot so KDE, LLVM / Clang, MySQL, MariaDB, ReactOS in Blender.
CMake je znan po zagotavljanju preprostega skriptnega jezika, pomeni razširitev funkcionalnosti na module, minimalno število odvisnosti (brez vezave na M4, Perl ali Python), podpora za predpomnjenje, prisotnost orodij za navzkrižno kompilacijo, podpora za ustvarjanje gradbenih datotek za širok spekter gradbenih sistemov in prevajalnikov, prisotnost pripomočkov ctest in cpack za definiranje testnih in gradbenih skriptov, pripomoček cmake-gui za interaktivno konfiguracijo parametrov gradnje.
Ta pripomoček uporablja za nadzor nad postopkom kompilacije programske opreme z uporabo preprostih in od platforme neodvisnih konfiguracijskih datotek. Ustvari izvorne datoteke in delovne prostore, ki jih je mogoče uporabiti v želenem razvojnem okolju.
Primerljiv je s sistemom gradnje GNU Unix, v katerem postopek nadzirajo konfiguracijske datoteke, v primeru CMake, imenovane CMakeLists.txt.
Kaj je novega v CMake 3.17.0
Kot je bilo omenjeno na začetku, je ena glavnih novosti, ki izstopa v tej novi različici CMake 3.17.0, dodajanje novega generatorja skriptov za gradnjo temelji na orodjih Ninja, ki ima ime «Ninja Multi Config«, Ki se razlikuje od prejšnjega generatorja, ker je ta novi generator ponuja možnost obdelave več konfiguracij gradnje hkrati.
Za svoj del, v generatorju skriptov gradnje Za Visual Studio lahko zdaj določite izvorne datoteke, priložene vsaki nastavitvi.
Možnost nastavitve metaparametrov za CUDA ("Cuda_std_03", "cuda_std_14" itd.) je bil dodan orodjem za konfiguriranje funkcij prevajalnika (funkcije prevajanja).
Poleg tega oglas omenja še to dodane so bile spremenljivke «CMAKE_CUDA_RUNTIME_LIBRARY"Y"CUDA_RUNTIME_LIBRARY»Izbrati vrsto izvajalnih knjižnic pri uporabi CUDA in tudi modul« FindCUDAToolkit »za določitev orodij CUDA, ki so na voljo v sistemu, ne da bi vključevali jezik CUDA.
V CMake 3.17.0 je ukaz «–Naprava za odpravljanje napak»Dodano je za prikaz dodatne berljive diagnostike pri iskanju. Za podobne namene spremenljivka CMAKE_FIND_DEBUG_MODE.
Dodano podpora za iskanje orodij CURL v modulu «FindCURL» z uporabo konfiguracijskih datotek "CURLConfig.cmake", ki jih ustvari cmake. Če želite to vedenje onemogočiti, je na voljo spremenljivka CURL_NO_CURL_CMAKE.
Modul FindPython dodaja možnost iskanja komponent Python v virtualnih okoljih, ki jih nadzoruje «conda".
Dodano možnost «–Ne-testi = [napaka | prezreti]»Na pripomoček ctest do določiti vedenje v odsotnosti dokazov in "–repeat", da določite pogoje za ponovni zagon preskusov (dokler ne mine, po poteku).
Od ostalih sprememb, ki so omenjene v napovedi:
- Izdelajte ciljne lastnosti INTERFACE_LINK_OPTIONS, INTERFACE_LINK_DIRECTORIES e INTERFACE_LINK_DEPENDS prenesli so jih med notranje odvisnosti statično sestavljenih knjižnic.
- Ko uporabljate orodje MinGW, poiščite datoteke DLL z ukazom najdi_knjižnico privzeto je onemogočen (namesto tega se privzeto poskusi uvoziti knjižnice ".dll.a").
- Logika izbire pripomočka ninja v generatorju Ninja zdaj ni odvisna od imena izvršljive datoteke - uporabljen je prvi pripomoček ninja-zgradnja, ninja o nič drugega najdeno, ki jo najdemo na poteh, definiranih skozi spremenljivko okolja PATH.
- Ukaz "-Rm»Dodan je v pripomoček cmake, ki ga lahko uporabljate za odstranjevanje datotek in imenikov namesto ločenih ukazov«-E odstranite"Y"-E odstranite_direktorij".
Končno če želite vedeti več o tem, lahko preverite napoved te nove različice v naslednja povezava.