CMake 3.17.0 ehitussüsteemi väljalase

Tutvustatakse platvormideülese avatud ehitamise skriptigeneraatori väljalase CMake 3.17, mis toimib alternatiivina Autotoolsile ja mida kasutatakse sellistes projektides nagu KDE, LLVM/Clang, MySQL, MariaDB, ReactOS ja Blender. CMake kood on kirjutatud C++ keeles ja seda levitatakse BSD litsentsi all.

CMake on tähelepanuväärne lihtsa skriptikeele pakkumise, funktsionaalsuse laiendamise vahendi moodulite kaudu, minimaalse arvu sõltuvuste (ei seostu M4, Perli või Pythoniga), vahemällu salvestamise toe, ristkompileerimise tööriistade olemasolu, ehituse genereerimise toe. failid paljude ehitussüsteemide ja kompilaatorite jaoks, olemasolu ctest ja cpack utiliidid testskriptide ja pakettide koostamiseks, cmake-gui utiliit ehitusparameetrite interaktiivseks seadistamiseks.

Kõik täiustused:

  • Lisatud on uus Ninja tööriistakomplektil põhinev montaaži skripti generaator - “Ninja Multi-Config”, mis erineb vanast generaatorist selle poolest, et suudab korraga töödelda mitut koostekonfiguratsiooni.
  • Visual Studio montaažiskripti generaatoris ilmus võimalus määratleda iga konfiguratsiooniga seotud lähtefailid (konfiguratsioonipõhised allikad).
  • Kompilaatori parameetrite seadmise tööriistadele (Compile Features) on lisatud CUDA metaparameetrite seadmise võimalus (“cuda_std_03”, “cuda_std_14” jne).
  • Lisatud muutujad "CMAKE_CUDA_RUNTIME_LIBRARY" ja "CUDA_RUNTIME_LIBRARY", et valida käitusaja teekide tüüp CUDA kasutamisel.
  • Lisati moodul "FindCUDAToolkit", et määrata süsteemis saadaolev CUDA tööriistakomplekt ilma CUDA keelt lubamata.
  • Lisatud käsk "--debug-find" käsule cmake, et väljastada otsingutoimingute tegemisel täiendavat loetavat diagnostikat. Sarnastel eesmärkidel on lisatud muutuja CMAKE_FIND_DEBUG_MODE.
  • Moodulile "FindCURL" lisati tugi CURL-i tööriistade otsimiseks, kasutades cmake genereeritud konfiguratsioonifaile "CURLConfig.cmake". Selle käitumise keelamiseks pakutakse muutujat CURL_NO_CURL_CMAKE.
  • Moodul FindPython on lisanud võimaluse otsida Pythoni komponente virtuaalses keskkonnas, mida hallatakse “conda” abil.
  • Utiliit ctest on lisanud valikud "--no-tests=[error|ignorre]", et määratleda käitumist juhul, kui teste pole tehtud, ja "--repeat", et määrata testide korduskäitamise tingimused (kuni-pass, järelaeg).
  • Kooste sihtmärgi atribuudid INTERFACE_LINK_OPTIONS, INTERFACE_LINK_DIRECTORIES ja INTERFACE_LINK_DEPENDS on nüüd üle kantud staatiliselt koostatud teekide sisemiste sõltuvuste hulka.
  • MinGW tööriistakomplekti kasutamisel on DLL-failide otsing käsuga find_library vaikimisi keelatud (selle asemel üritatakse vaikimisi importida ".dll.a" teeke).
  • Ninja generaatoris ninja utiliidi valimise loogika ei sõltu nüüd käivitatava faili nimest – kasutatakse PATH keskkonnamuutuja kaudu defineeritud teedelt leitud esimest ninja-build, ninja või samu utiliiti.
  • Lisatud käsule cmake käsk "-E rm", mida saab kasutada failide ja kataloogide eemaldamiseks eraldi käskude "-E remove" ja "-E remove_directory" asemel.

Allikas: opennet.ru

Lisa kommentaar