Release av byggsystemet CMake 3.15

tog plats release av en plattformsöverskridande öppen skriptgenerator CMake 3.15, som fungerar som ett alternativ till Autotools och används i projekt som KDE, LLVM/Clang, MySQL, MariaDB, ReactOS och Blender. CMake-koden är skriven i C++ och distribueras under BSD-licensen.

CMake är känd för att tillhandahålla ett enkelt skriptspråk, ett sätt att utöka funktionaliteten genom moduler, ett minimalt antal beroenden (ingen bindning till M4, Perl eller Python), cachingstöd, närvaron av verktyg för korskompilering, stöd för att generera build filer för ett brett utbud av byggsystem och kompilatorer, närvaroverktygen ctest och cpack för att definiera testskript och byggpaket, verktyget cmake-gui för att interaktivt ställa in byggparametrar.

Den huvudsakliga förbättringar:

  • Initialt språkstöd har lagts till i den Ninja-baserade byggskriptgeneratorn Snabb, utvecklad av Apple;
  • Lade till stöd för en variant av Clang-kompilatorn för Windows som bygger med MSVC ABI, men använder kommandoradsalternativ i GNU-stil;
  • Lade till variabler CMAKE_MSVC_RUNTIME_LIBRARY och MSVC_RUNTIME_LIBRARY för att välja runtime-bibliotek som används av kompilatorer baserade på MSVC ABI (MS Visual Studio);
  • För kompilatorer som MSVC slutar CMAKE__FLAGS som standard att lista varningskontrollflaggor som "/W3";
  • Lade till ett generatoruttryck "COMPILE_LANG_AND_ID:" för att definiera kompileringsalternativ för målfiler, med CMAKE__COMPILER_ID och LANGUAGE variablerna för varje kodfil;
  • I generatoruttrycken C_COMPILER_ID, CXX_COMPILER_ID,
    CUDA_COMPILER_ID, Fortran_COMPILER_ID, COMPILE_LANGUAGE,
    COMPILE_LANG_AND_ID och PLATFORM_ID lade till stöd för att matcha ett enskilt värde till en lista vars element är separerade med kommatecken;

  • Lade till variabel CMAKE_FIND_PACKAGE_PREFER_CONFIG så att anrop av find_package() kommer att söka efter paketets konfigurationsfil först, även om en hitta är tillgänglig;
  • För gränssnittsbibliotek har stöd lagts till för att ställa in egenskaperna PUBLIC_HEADER och PRIVATE_HEADER, med vilka rubriker kan ställas in med kommandot install(TARGETS) genom att skicka argumenten PUBLIC_HEADER och PRIVATE_HEADER;
  • Lade till CMAKE_VS_JUST_MY_CODE_DEBUGGING-variabeln och målegenskapen VS_JUST_MY_CODE_DEBUGGING för att aktivera "Just My Code"-läget i Visual Studio-debuggern vid kompilering med MSVC cl 19.05 och nyare versioner;
  • FindBoost-modulen har gjorts om, som nu fungerar mer holistiskt i Config- och Module-lägen i närvaro av andra sökmoduler;
  • Kommandot message() stöder nu typerna NOTICE, VERBOSE,
    DEBUG och TRACE;

  • Kommandot "export(PACKAGE)" gör nu ingenting om det inte uttryckligen är aktiverat via variabeln CMAKE_EXPORT_PACKAGE_REGISTRY.

Källa: opennet.ru

Lägg en kommentar