Esitelty on monialustaisen avoimen koontikomentosarjageneraattorin CMake 3.22 julkaisu, 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.
Tärkeimmät parannukset:
- Kääntäjäparametrien konfigurointityökalut (Compile Features) tarjoavat mahdollisuuden ottaa käyttöön ja poistaa käytöstä kääntäjän laajennuksia määrittelemättä vakiotuen tasoa, ja myös poistaa tarpeettomia lippuja kielistandardin tasolla, jos valitut asetukset ovat oletuskääntäjän parametrien sisällä.
- Komennolla cmake_host_system_information() on nyt mahdollisuus kysyä /etc/os-release-tiedostoon tallennettua käyttöjärjestelmän tunnistetta.
- Lisätty ympäristömuuttujat CMAKE_BUILD_TYPE ja CMAKE_CONFIGURATION_TYPES, joiden avulla voit asettaa samannimisen CMake-muuttujien oletusarvon.
- Lisätty muuttuja "CMAKE_REQUIRE_FIND_PACKAGE_ » tekee funktion find_package() kutsumisen pakolliseksi määritetyn paketin löytämiseksi.
- Lisätty ympäristömuuttuja "CMAKE_INSTALL_MODE" asettaaksesi symbolilinkit tiedostojen kopiointiin kutsuttaessa "install()".
- Lisätty lippu "CMAKE_" _LINK_WHAT_YOU_USE_FLAG" ja muuttuja "CMAKE_LINK_WHAT_YOU_USE_CHECK" linkittäjälippujen asettamiseen ja tarkistamiseen.
- FetchContent-moduuli varmistaa, että määritetyt muuttujat “CMAKE_TLS_VERIFY”, “CMAKE_TLS_CAINFO”, “CMAKE_NETRC” ja “CMAKE_NETRC_FILE” siirretään ulkoisten projektien koontiskripteihin (aiemmin nämä parametrit jätettiin huomiotta).
- Täysi tuki ehdollisen lausekkeen syntaksille on lisätty "CMakeDependentOption"-moduulin tarjoamaan makroon "cmake_dependent_option()".
- FindJasper- ja FindMatlab-moduulit tarjoavat nyt tuotavat kohteet.
- "VS_SETTINGS"-ominaisuus tukee kaikentyyppisiä lähdetiedostoja.
- Visual Studio 10 2010 -generaattori on vanhentunut ja se poistetaan tulevassa julkaisussa.
Lähde: opennet.ru
