Release van build-systeem CMake 3.15

Heeft plaatsgevonden release van de cross-platform open source build-scripts generator CMake 3.15, dat dient als alternatief voor Autotools en wordt gebruikt in projecten zoals KDE, LLVM/Clang, MySQL, MariaDB, ReactOS en Blender. De code van CMake is geschreven in C++ en wordt verspreid onder de BSD-licentie.

CMake valt op door het bieden van een eenvoudige script-taal, extensiemogelijkheden via modules, een minimaal aantal afhankelijkheden (geen binding aan M4, Perl of Python), ondersteuning voor cachen, tools voor cross-compilatie, ondersteuning voor het genereren van build-bestanden voor een breed scala aan build-systemen en compilers, en de aanwezigheid van de tools ctest en cpack voor het definiëren van test- en pakket build-scripts, evenals de cmake-gui-tool voor interactieve configuratie van build-instellingen.

Belangrijkste verbeteringen:

  • In de build script generator op basis van Ninja-toolkit is een aanvankelijke ondersteuning van de taal toegevoegd Swift, ontwikkeld door Apple;
  • Ondersteuning toegevoegd voor de Clang-compiler voor Windows, die de build uitvoert met MSVC ABI, maar GNU-stijl commandoregelopties gebruikt;
  • Toegevoegd CMAKE_MSVC_RUNTIME_LIBRARY en MSVC_RUNTIME_LIBRARY variabelen om de runtime-bibliotheken te kiezen die worden gebruikt door compilers op basis van MSVC ABI (MS Visual Studio);
  • Voor compilers zoals MSVC is het standaardgedrag van CMAKE__FLAGS aangepast zodat niet langer controlevlaggen zoals ‘/W3’ worden weergegeven;
  • Een generatorexpressie ‘COMPILE_LANG_AND_ID:’ toegevoegd voor het definiëren van compileropties voor doelbestanden, die CMAKE__COMPILER_ID en LANGUAGE variabelen voor elk codebestand toepassen;
  • In de generatorexpressies C_COMPILER_ID, CXX_COMPILER_ID,
    CUDA_COMPILER_ID, Fortran_COMPILER_ID, COMPILE_LANGUAGE,
    COMPILE_LANG_AND_ID en PLATFORM_ID is ondersteuning toegevoegd voor het overeenkomen van één waarde met een lijst, waarvan de elementen door komma's zijn gescheiden;
  • Toegevoegd CMAKE_FIND_PACKAGE_PREFER_CONFIG variabele, waarbij de aanroep van find_package() eerst naar het configuratiebestand van het pakket zoekt, zelfs als een zoekmodule beschikbaar is;
  • Voor interfacebibliotheken is ondersteuning toegevoegd voor het instellen van de PUBLIC_HEADER en PRIVATE_HEADER eigenschappen, waarvan de headers kunnen worden ingesteld via de command install(TARGETS) door de argumenten PUBLIC_HEADER en PRIVATE_HEADER door te geven;
  • Toegevoegd CMAKE_VS_JUST_MY_CODE_DEBUGGING variabele en gericht eigenschap VS_JUST_MY_CODE_DEBUGGING voor het inschakelen van de ‘Just My Code’ modus in de Visual Studio-debugger bij compileren met MSVC cl 19.05 en nieuwere versies;
  • De FindBoost-module is herwerkt en functioneert nu beter in de Config- en Module-modus in aanwezigheid van andere zoekmodules;
  • Ondersteuning voor de types NOTICE, VERBOSE toegevoegd in de message() commando,
    DEBUG en TRACE;
  • Het commando ‘export(PACKAGE)’ doet nu niets totdat het expliciet is ingeschakeld via de CMAKE_EXPORT_PACKAGE_REGISTRY variabele.

Bron: opennet.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers 🔥 Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster