Release van het CMake 3.23-buildsysteem

Gepresenteerd wordt de release van de platformonafhankelijke open build scriptgenerator CMake 3.23, die fungeert als een alternatief voor Autotools en wordt gebruikt in projecten zoals KDE, LLVM/Clang, MySQL, MariaDB, ReactOS en Blender. De CMake-code is geschreven in C++ en gedistribueerd onder de BSD-licentie.

CMake valt op door het bieden van een eenvoudige scripttaal, tools voor het uitbreiden van functionaliteit via modules, caching-ondersteuning, de aanwezigheid van tools voor cross-compilatie, ondersteuning voor het genereren van build-bestanden voor een breed scala aan build-systemen en compilers, de aanwezigheid van ctest en cpack hulpprogramma's voor het definiëren van testscripts en het bouwen van pakketten, en het cmake-hulpprogramma -gui voor interactieve configuratie van bouwparameters.

Belangrijkste verbeteringen:

  • Er is een optioneel “include”-veld toegevoegd aan de “cmake-presets”-bestanden, waarmee u de inhoud van andere aanwezige bestanden kunt vervangen.
  • Bouw scriptgenerators voor Visual Studio 2019 en nieuwere versies ondersteunen nu .NET SDK csproj-bestanden voor C#-projecten.
  • Ondersteuning toegevoegd voor de IBM Open XL C/C++ compiler, gebaseerd op LLVM. De compiler is beschikbaar onder de identificatie IBMClang.
  • Ondersteuning toegevoegd voor de MCST LCC-compiler (ontwikkeld voor Elbrus- en SPARC (MCST-R)-processors). De compiler is beschikbaar onder de LCC-identificatie.
  • Er is een nieuw argument toegevoegd aan de opdracht "install(TARGETS)", "FILE_SET", die kan worden gebruikt om een ​​set headerbestanden te installeren die zijn gekoppeld aan het geselecteerde doelplatform.
  • Aan het commando “target_sources()” is de modus “FILE_SET” toegevoegd, waarmee je een set van een bepaald type bestanden met code kunt toevoegen, bijvoorbeeld headerbestanden.
  • Ondersteuning toegevoegd voor "all" en "all-major" waarden voor CUDA toolkit 7.0+ aan de "CMAKE_CUDA_ARCHITECTURES" variabele en de doelplatformeigenschap "CUDA_ARCHITECTURES".

Bron: opennet.ru

Voeg een reactie