CMake 3.17.0 koostamissüsteemi väljaanne

Esitletud ristplatvormilise avatud ehitus сценарийide generaatori väljaanne CMake 3.17, mis on Autotools'ile alternatiiv ja mida kasutatakse sellistes projektides nagu KDE, LLVM/Clang, MySQL, MariaDB, ReactOS ja Blender. CMake'i kood on kirjutatud C++ keeles ja levitatakse BSD litsentsi alusel.

CMake paistab silma oma lihtsa сценарийide keele poolest, funktsionaalsuse laiendamise vahendite, miinimum sõltuvuste (ilma M4, Perl või Python seotuse), cache'i toe, ristkompileerimise tööriistade olemasolu, ehitusfailide genereerimise toetuse laiale valikule ehitus süsteemidele ja kompilaatoritele, samuti olemasolu utiliite ctest ja cpack testimise сценарийide ning pakettide ehitamise määratlemiseks, utiliidi cmake-gui interaktiivseks ehitusparameetrite seadistamiseks.

Peamised parandused:

  • Uus mitme konfiguratsiooni tugi Ninja tööriistade abil - «Ninja Multi-Config», mis erineb vanast generaatorist, võimaldades töötlemist mitme ehituskeskkonna korraga.
  • Visual Studio ehitusgeneraatoris ilmus on võimalik määratleda allikafailid, mis on seotud iga konfiguratsiooniga (per-config sources).
  • Kompilaatori seadete (Compile Features) seadistamisel on lisatud võimalus määrata CUDA jaoks meta-parameetrid («cuda_std_03», «cuda_std_14» jne).
  • Lisatud on muutujad «CMAKE_CUDA_RUNTIME_LIBRARY» ja «CUDA_RUNTIME_LIBRARY», et valida runtime-raamatukogude tüüp CUDA kasutamisel.
  • Lisatud «FindCUDAToolkit» moodul, et tuvastada süsteemis saadaval olev CUDA tööriistade komplekt ilma CUDA keele kaasamiseta.
  • cmake utiliiti on lisatud käsk «—debug-find», mis kuvab täiendavat loetavat diagnostikat otsimisoperatsioonide käigus. Sarnaste eesmärkide jaoks on lisatud muutujat CMAKE_FIND_DEBUG_MODE.
  • FindCURL moodulisse on lisatud toetus CURL tööriistade otsimiseks genereeritud cmake konfiguratsioonifailide «CURLConfig.cmake» abil. Sellise käitumise keelamiseks on ette nähtud muutuja CURL_NO_CURL_CMAKE.
  • FindPython moodulisse on lisatud võimalus otsida Python komponente virtuaalsetes keskkondades, mida hallatakse «conda» abil.
  • ctest utiliiti on lisatud valikud «—no-tests=[error|ignore]» testide puudumise korral käitumise määramiseks ja «—repeat» testide kordusstiili seadmiseks (until-pass, after-timeout).
  • INTERFACE_LINK_OPTIONS, INTERFACE_LINK_DIRECTORIES ja INTERFACE_LINK_DEPENDS kokkupaneku omaduste edasiviimine staatiliselt kogutud raamatute sisemiste sõltuvuste hulka on tagatud.
  • MinGW tööriistade kasutamisel on vaikimisi keelatud DLL-failide otsimine käsklusega find_library (vaikimisi proovib importida «.dll.a» teeke).
  • Ninja generaatoris valitava utiliidi loogika ei sõltu enam täidetud faili nimest — kasutatakse esimest leitud utiliiti ninja-build, ninja või samu, mis on leitud keskkonnamuutuja PATH kaudu määratud radadelt.
  • CMake utiliiti on lisatud käsk «-E rm», mida saab kasutada failide ja kataloogide kustutamiseks, selle asemel et kasutada eraldi käske «-E remove» ja «-E remove_directory».

Allikas: opennet.ru

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster