Den plattformsoberoende öppna bygggeneratorn CMake 3.22 har presenterats som ett alternativ till Autotools, och anvÀnds i projekt som KDE, LLVM/Clang, MySQL, MariaDB, ReactOS och Blender. CMake-koden Àr skriven i C++ och distribueras under BSD-licensen.
CMake Àr kÀnt för att erbjuda ett enkelt skriptsprÄk, möjligheter att utöka funktionaliteten genom moduler, ett minimalt antal beroenden (ingen bindning till M4, Perl eller Python), stöd för caching, verktyg för korskompilering, samt stöd för generering av byggfiler för ett brett spektrum av byggsystem och kompilatorer, inklusive ctest och cpack-verktyg för att definiera test- och paketbyggnads-skript, plus cmake-gui-vertyget för interaktiv konfiguration av byggparametrarna.
Huvudsakliga förbÀttringar:
- I instÀllningar för kompilatorns parametrar (Compile Features) har möjligheten att aktivera och avaktivera kompilatorutvidgningar utan att ange stödjeruptnivÄer lagts till, och onödiga flaggor för sprÄkstandardens nivÄ utesluts om de valda instÀllningarna faller under de standardinstÀllningar som retas.
- I kommandot cmake_host_system_information() har möjligheten att frÄga om operativsystemets ID, som lagras i filen /etc/os-release, lagts till.
- Miljövariablerna CMAKE_BUILD_TYPE och CMAKE_CONFIGURATION_TYPES har lagts till, genom vilka standardvÀrdena för CMake-variablerna med samma namn kan stÀllas in.
- Variabeln «CMAKE_REQUIRE_FIND_PACKAGE_» har lagts till, vilket gör anropet av funktionen find_package() för att upptÀcka angivet paket obligatoriskt.
- Miljövariabeln «CMAKE_INSTALL_MODE» har lagts till för att installera symboliska lÀnkar istÀllet för att kopiera filer vid anrop av «install()».
- Flaggan «CMAKE__LINK_WHAT_YOU_USE_FLAG» och variabeln «CMAKE_LINK_WHAT_YOU_USE_CHECK» har lagts till för att stÀlla in och kontrollera lÀnkflaggor.
- I modulen FetchContent har vidarebefordran av instÀllda variabler «CMAKE_TLS_VERIFY», «CMAKE_TLS_CAINFO», «CMAKE_NETRC» och «CMAKE_NETRC_FILE» i byggscenarier för externa projekt sÀkerstÀllts (tidigare ignorerades dessa parametrar).
- I makrot «cmake_dependent_option()» frÄn modulen «CMakeDependentOption» har full support för syntaktiska villkor lagts till.
- Modulerna «FindJasper» och «FindMatlab» erbjuder nu importerbara mÄl.
- I egenskapen «VS_SETTINGS» har stöd för alla typer av kÀllfiler implementerats.
- Generatorn «Visual Studio 10 2010» har förklarats som förÄldrad och kommer att tas bort i en av de kommande utgÄvorna.
KĂ€lla: opennet.ru
