De nieuwe update van de CMake 3.15-scriptgenerator is uitgebracht

cmake

Een paar dagen geleden CMake 3.15 platformonafhankelijke open source scriptgenerator vrijgegeven die fungeert als een alternatief voor Autotools en wordt gebruikt in projecten zoals KDE, LLVM / Clang, MySQL, MariaDB, ReactOS en Blender.

CMake is een tool voor het genereren of automatiseren van meerdere platforms. De naam is een afkorting voor "cross platform make" (make cross platform, naast het gebruik van "make" in de naam, CMake is een aparte suite en een hoger niveau dan het gangbare make-systeem van Unix, vergelijkbaar met autotools.

Over CMake

CMaak is opmerkelijk omdat het een eenvoudige scripttaal biedt, tools om functionaliteit over modules uit te breiden, minimaal aantal afhankelijkheden (geen binding met M4, Perl of Python), caching-ondersteuning, beschikbaarheid van tools voor cross-compilatie, ondersteuning voor het genereren van assembly-bestanden voor een breed scala aan compilersystemen en compilers.

De hulpprogramma's ctest en cpack voor het definiëren van testscenario's en het maken van pakketten, met het hulpprogramma cmake-gui voor het interactief configureren van buildparameters.

CMake wordt gebruikt om het compilatieproces van de software te besturen met behulp van eenvoudige en onafhankelijke configuratiebestanden van het platform. Cmake genereert native makefiles en workspaces die in de gewenste ontwikkelomgeving kunnen worden gebruikt.

Het is vergelijkbaar met het Unix GNU build-systeem in die zin dat het proces wordt bestuurd door configuratiebestanden, in het geval van CMake genaamd CMakeLists.txt.

In tegenstelling tot het GNU-buildsysteem, dat is beperkt tot Unix-platforms, CMake ondersteunt het genereren van bestanden voor verschillende besturingssystemen, wat het onderhoud vergemakkelijkt en de noodzaak elimineert om meerdere sets bestanden voor elk platform te hebben.

Het bouwproces wordt bestuurd door een of meer CMakeLists.txt-bestanden in elke map (inclusief submappen) te maken.

De CMake-code is geschreven in C ++ en wordt verspreid onder de BSD-licentie.

CMake 3.15 Belangrijkste nieuwe functies

Deze nieuwe versie gemarkeerd door de komst van initiële generatorondersteuning voor de Swift-taal ontwikkeld door Apple is toegevoegd aan de Ninja Toolkit-assemblagescriptgenerator.

Naast dit, komt ook ondersteuning voor de Clang-compileroptie voor Windows dat is gebouwd met ABI MSVC, maar de opdrachtregelopties in GNU-stijl gebruikt.

De ontwikkelaars benadrukken dat de variabelen CMAKE_MSVC_RUNTIME_LIBRARY y MSVC_RUNTIME_LIBRARY worden toegevoegd om de runtime-bibliotheken te selecteren die door compilers worden gebruikt ABI MSVC (MS Visual Studio).

Voor compilers zoals MSVC, en CMAKE__FLAGSStandaard wordt de lijst met waarschuwingsbesturingsvlaggen zoals "/ W3" gestopt.

Van de andere verbeteringen die worden benadrukt in de aankondiging van de release van deze nieuwe versie, vinden we het volgende:

  • De genererende uitdrukking 'toegevoegdCOMPILE_LANG_AND_ID: »Om compileropties te definiëren voor doelbestanden die variabelen gebruiken CMAKE__COMPILER_ID y LANGUAGE voor elk codebestand
  • Generator-uitdrukkingen C_COMPILER_ID, CXX_COMPILER_ID, CUDA_COMPILER_ID, Fortran_COMPILER_ID, COMPILE_LANGUAGE, COMPILE_LANG_AND_ID y PLATFORM_ID ondersteuning toevoegen voor het matchen van een waarde aan een lijst, door komma's gescheiden items
  • De variabele is toegevoegd CMAKE_FIND_PACKAGE_PREFER_CONFIG, waarin de aanroep van find_package () eerst naar het pakketconfiguratiebestand zal zoeken, zelfs als de zoekmodule beschikbaar is
  • Voor interfacebibliotheken is ondersteuning toegevoegd voor het instellen van eigenschappen PUBLIC_HEADER y PRIVATE_HEADER, waarvan de headers kunnen worden geconfigureerd door het installatiecommando (TARGETS) door de argumenten door te geven PUBLIC_HEADER y PRIVATE_HEADER
  • De variabele is toegevoegd CMAKE_VS_JUST_MY_CODE_DEBUGGING en de bestemmingseigenschap VS_JUST_MY_CODE_DEBUGGING om de "Just My Code" -modus in de Visual Studio-debugger in te schakelen bij het compileren met MSVC cl 19.05 en nieuwere versies.
  • De FindBoost-module is herwerkt, waaraan nu vollediger wordt gewerkt in de configuratie- en modulemodi met de aanwezigheid van andere zoekmodules
  • Ondersteuning voor de types NOTICE, VERBOSE, DEBUG en TRACE is toegevoegd aan het commando message ()
  • Het "export (PAKKET)" commando doet nu niets totdat het expliciet is ingeschakeld via de variabele CMAKE_EXPORT_PACKAGE_REGISTRY.

Als u er meer over wilt weten, kunt u hierover overleggen de volgende link.


Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: Miguel Ángel Gatón
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.