CMake 3.17.0 -rakennusjärjestelmän julkaisu

Lähettäjä monikäyttöisen avoimen koontiversion komentosarjageneraattorin julkaisu CMake 3.17, joka toimii vaihtoehtona Autotoolsille ja jota käytetään projekteissa, kuten KDE, LLVM/Clang, MySQL, MariaDB, ReactOS ja Blender. CMake-koodi on kirjoitettu C++-kielellä ja jaettu BSD-lisenssillä.

CMake tarjoaa yksinkertaisen skriptikielen, tavan laajentaa toimintoja moduulien kautta, minimaalisen määrän riippuvuuksia (ei sidotusta M4:ään, Perliin tai Pythoniin), välimuistin tuesta, ristiinkäännöstyökalujen olemassaolosta, tuesta koontiversion luomiseen. tiedostot monenlaisille koontijärjestelmille ja kääntäjille, läsnäolo-ctest- ja cpack-apuohjelmat testiskriptien ja -pakettien määrittämiseen, cmake-gui-apuohjelma koontiparametrien interaktiiviseen asettamiseen.

Pääasiallinen parannuksia:

  • Uusi Ninja-työkalupakkiin perustuva kokoonpanoskriptigeneraattori on lisätty - "Ninja Multi-Config", joka eroaa vanhasta generaattorista siinä, että se pystyy käsittelemään useita kokoonpanokokoonpanoja kerralla.
  • Visual Studion kokoonpanokomentosarjageneraattorissa ilmestyi kyky määrittää kuhunkin kokoonpanoon liittyvät lähdetiedostot (konfiguraatiokohtaiset lähteet).
  • Mahdollisuus asettaa CUDA:n metaparametreja ("cuda_std_03", "cuda_std_14" jne.) on lisätty kääntäjän parametrien asettamisen työkaluihin (käännösominaisuudet).
  • Lisätty muuttujat "CMAKE_CUDA_RUNTIME_LIBRARY" ja "CUDA_RUNTIME_LIBRARY" ajonaikaisten kirjastojen tyypin valitsemiseksi käytettäessä CUDA:ta.
  • Lisätty "FindCUDAToolkit" -moduuli, jolla määritetään järjestelmässä käytettävissä oleva CUDA-työkalupaketti ilman CUDA-kieltä.
  • Lisätty "--debug-find"-komento Cmake-komentoon, joka tuottaa luettavissa olevia diagnostisia tietoja hakutoimintoja suoritettaessa. Samanlaisia ​​tarkoituksia varten on lisätty muuttuja CMAKE_FIND_DEBUG_MODE.
  • Lisätty tuki CURL-työkalujen etsimiselle käyttämällä cmaken luomia konfiguraatiotiedostoja "CURLConfig.cmake" "FindCURL"-moduuliin. Voit poistaa tämän toiminnan käytöstä CURL_NO_CURL_CMAKE-muuttujan avulla.
  • FindPython-moduuli on lisännyt mahdollisuuden etsiä Python-komponentteja virtuaaliympäristöissä, joita hallinnoidaan "condalla".
  • ctest-apuohjelma on lisännyt "--no-tests=[error|ignore]" -vaihtoehdot määrittämään käyttäytymisen, jos testejä ei ole tehty, ja "--repeat" asettaakseen ehdot testien uudelleen suorittamiselle (kunnes läpäistään, jälkeen aikakatkaisu).
  • Kokoonpanokohteen ominaisuudet INTERFACE_LINK_OPTIONS, INTERFACE_LINK_DIRECTORIES ja INTERFACE_LINK_DEPENDS siirretään nyt staattisesti koottujen kirjastojen sisäisten riippuvuuksien joukossa.
  • Käytettäessä MinGW-työkalupakettia DLL-tiedostojen haku find_library-komennolla on oletusarvoisesti poissa käytöstä (oletusyritys sen sijaan on tuoda .dll.a-kirjastoja).
  • Ninja-apuohjelman valinnan logiikka Ninja-generaattorissa ei nyt riipu suoritettavan tiedoston nimestä - käytetään ensimmäistä ninja-build-, ninja- tai samu-apuohjelmaa, joka löytyy PATH-ympäristömuuttujan kautta määritellyistä poluista.
  • Lisätty "-E rm" -komento cmakeen, jota voidaan käyttää tiedostojen ja hakemistojen poistamiseen erillisten "-E remove" ja "-E remove_directory" -komentojen sijaan.

Lähde: opennet.ru

Lisää kommentti