Utgivelse av CMake 3.15 byggesystem

fant sted utgivelse av en åpen skriptgenerator på tvers av plattformer CMake 3.15, som fungerer som et alternativ til Autotools og brukes i prosjekter som KDE, LLVM/Clang, MySQL, MariaDB, ReactOS og Blender. CMake-koden er skrevet i C++ og distribuert under BSD-lisensen.

CMake er kjent for å tilby et enkelt skriptspråk, et middel for å utvide funksjonalitet gjennom moduler, et minimalt antall avhengigheter (ingen binding til M4, Perl eller Python), caching-støtte, tilstedeværelsen av verktøy for krysskompilering, støtte for å generere bygg filer for et bredt spekter av byggesystemer og kompilatorer, verktøyene tilstedeværelse ctest og cpack for å definere testskript og byggepakker, cmake-gui-verktøy for interaktiv innstilling av byggeparametere.

Den viktigste forbedringer:

  • Startspråkstøtte er lagt til den Ninja-baserte byggeskriptgeneratoren Swift, utviklet av Apple;
  • Lagt til støtte for en variant av Clang-kompilatoren for Windows som bygger med MSVC ABI, men bruker GNU-stil kommandolinjealternativer;
  • Lagt til CMAKE_MSVC_RUNTIME_LIBRARY og MSVC_RUNTIME_LIBRARY variabler for å velge kjøretidsbiblioteker brukt av kompilatorer basert på MSVC ABI (MS Visual Studio);
  • For kompilatorer som MSVC, slutter CMAKE__FLAGS som standard å vise advarselskontrollflagg som "/W3";
  • Lagt til et generatoruttrykk "COMPILE_LANG_AND_ID:" for å definere kompileringsalternativer for målfiler, ved å bruke CMAKE__COMPILER_ID og LANGUAGE variablene for hver kodefil;
  • I generatoruttrykkene C_COMPILER_ID, CXX_COMPILER_ID,
    CUDA_COMPILER_ID, Fortran_COMPILER_ID, COMPILE_LANGUAGE,
    COMPILE_LANG_AND_ID og PLATFORM_ID la til støtte for å matche en enkelt verdi til en liste hvis elementer er atskilt med komma;

  • Lagt til variabel CMAKE_FIND_PACKAGE_PREFER_CONFIG slik at oppkalling av find_package() vil søke etter pakkens konfigurasjonsfil først, selv om en finner er tilgjengelig;
  • For grensesnittbiblioteker er det lagt til støtte for innstilling av egenskapene PUBLIC_HEADER og PRIVATE_HEADER, der overskrifter kan settes ved å bruke install(TARGETS)-kommandoen ved å sende argumentene PUBLIC_HEADER og PRIVATE_HEADER;
  • Lagt til CMAKE_VS_JUST_MY_CODE_DEBUGGING-variabel og målegenskap VS_JUST_MY_CODE_DEBUGGING for å aktivere "Just My Code"-modus i Visual Studio-feilsøkeren ved kompilering med MSVC cl 19.05 og nyere versjoner;
  • FindBoost-modulen har blitt redesignet, som nå fungerer mer helhetlig i Config- og Module-moduser i nærvær av andre søkemoduler;
  • Message()-kommandoen støtter nå typene NOTICE, VERBOSE,
    DEBUG og SPOR;

  • Kommandoen "eksport(PACKAGE)" gjør nå ingenting med mindre den er eksplisitt aktivert via variabelen CMAKE_EXPORT_PACKAGE_REGISTRY.

Kilde: opennet.ru

Legg til en kommentar