Udgivelse af CMake 3.15 byggesystem

tog sted frigivelse af en open build-scriptgenerator på tværs af platforme CMag 3.15, der fungerer som et alternativ til Autoværktøjer og bruges i projekter som KDE, LLVM/Clang, MySQL, MariaDB, ReactOS og Blender. CMake-koden er skrevet i C++ og distribueret under BSD-licensen.

CMake er kendt for at levere et simpelt scriptsprog, et middel til at udvide funktionaliteten gennem moduler, et minimalt antal afhængigheder (ingen binding til M4, Perl eller Python), caching-understøttelse, tilstedeværelsen af ​​værktøjer til krydskompilering, understøttelse af generering af build filer til en lang række byggesystemer og compilere, tilstedeværelse ctest og cpack hjælpeprogrammer til at definere test scripts og byggepakker, cmake-gui hjælpeprogram til interaktiv indstilling af build parametre.

The main forbedring:

  • Indledende sprogunderstøttelse er blevet tilføjet til den Ninja-baserede build script generator Swift, udviklet af Apple;
  • Tilføjet understøttelse af en variant af Clang-kompileren til Windows, der bygger med MSVC ABI, men bruger GNU-stil kommandolinjeindstillinger;
  • Tilføjet variabler CMAKE_MSVC_RUNTIME_LIBRARY og MSVC_RUNTIME_LIBRARY for at vælge runtime-biblioteker, der bruges af compilere baseret på MSVC ABI (MS Visual Studio);
  • For kompilatorer som MSVC, stopper CMAKE__FLAGS som standard med at vise advarselskontrolflag såsom "/W3";
  • Tilføjet et generatorudtryk "COMPILE_LANG_AND_ID:" for at definere kompileringsmuligheder for målfiler ved at bruge CMAKE__COMPILER_ID og LANGUAGE variablerne for hver kodefil;
  • I generatorudtrykkene C_COMPILER_ID, CXX_COMPILER_ID,
    CUDA_COMPILER_ID, Fortran_COMPILER_ID, COMPILE_LANGUAGE,
    COMPILE_LANG_AND_ID og PLATFORM_ID tilføjede understøttelse til at matche en enkelt værdi til en liste, hvis elementer er adskilt af et komma;

  • Tilføjet variabel CMAKE_FIND_PACKAGE_PREFER_CONFIG, så at kalde find_package() vil søge efter pakkens konfigurationsfil først, selvom en finder er tilgængelig;
  • For grænsefladebiblioteker er der tilføjet understøttelse for indstilling af egenskaberne PUBLIC_HEADER og PRIVATE_HEADER, hvorved headere kan indstilles ved hjælp af install(TARGETS)-kommandoen ved at sende PUBLIC_HEADER- og PRIVATE_HEADER-argumenterne;
  • Tilføjet CMAKE_VS_JUST_MY_CODE_DEBUGGING-variabel og målegenskab VS_JUST_MY_CODE_DEBUGGING for at aktivere "Just My Code"-tilstand i Visual Studio-debuggeren ved kompilering med MSVC cl 19.05 og nyere versioner;
  • FindBoost-modulet er blevet redesignet, som nu fungerer mere holistisk i Config- og Module-tilstande i nærvær af andre søgemoduler;
  • Message()-kommandoen understøtter nu typerne NOTICE, VERBOSE,
    DEBUG og SPOR;

  • Kommandoen "eksport(PACKAGE)" gør nu intet, medmindre den udtrykkeligt er aktiveret via variablen CMAKE_EXPORT_PACKAGE_REGISTRY.

Kilde: opennet.ru

Tilføj en kommentar