Version des Build-Systems CMake 3.15

Hat stattgefunden Plattformübergreifende Veröffentlichung des offenen Build-Skript-Generators CMake 3.15, das als Alternative zu Autotools dient und in Projekten wie KDE, LLVM/Clang, MySQL, MariaDB, ReactOS und Blender verwendet wird. Der Code von CMake ist in C++ geschrieben und wird unter der BSD-Lizenz veröffentlicht.

CMake zeichnet sich durch eine einfache Skriptsprache, Erweiterungsmöglichkeiten durch Module, eine minimale Abhängigkeit (keine Bindung an M4, Perl oder Python), Unterstützung für Caching, Werkzeuge für Cross-Compiling, die Generierung von Build-Dateien für eine breite Palette von Build-Systemen und Compilern, sowie die Tools ctest und cpack zur Definition von Test- und Paketbuild-Skripts aus, sowie durch das cmake-gui-Tool für die interaktive Konfiguration von Build-Parametern.

Haupt- Verbesserungen:

  • Der Build-Skript-Generator basierend auf dem Ninja-Toolkit erhielt erste Unterstützung für die Sprache Swift, die von Apple entwickelt wird;
  • Unterstützung für die Clang-Compiler-Variante für Windows hinzugefügt, die mit ABI MSVC kompiliert, aber GNU-Stil-Befehlszeilenoptionen verwendet;
  • Die Variablen CMAKE_MSVC_RUNTIME_LIBRARY und MSVC_RUNTIME_LIBRARY wurden hinzugefügt, um die von den auf ABI MSVC basierenden Compilern (MS Visual Studio) verwendeten Runtime-Bibliotheken auszuwählen;
  • Für Compiler wie MSVC wurden die Auflistungen der Steuerflags für Warnmeldungen wie „/W3“ in den Standardwert von CMAKE__FLAGS eingestellt;
  • Der Generatorausdruck „COMPILE_LANG_AND_ID:“ wurde hinzugefügt, um Compileroptionen für Zieldateien zu definieren, die die Variablen CMAKE__COMPILER_ID und LANGUAGE für jede Code-Datei verwenden;
  • In die Generatorausdrücke C_COMPILER_ID, CXX_COMPILER_ID,
    CUDA_COMPILER_ID, Fortran_COMPILER_ID, COMPILE_LANGUAGE,
    COMPILE_LANG_AND_ID und PLATFORM_ID wurde die Unterstützung für die Zuordnung eines Wertes zu einer durch Kommas getrennten Liste hinzugefügt;
  • Die Variable CMAKE_FIND_PACKAGE_PREFER_CONFIG wurde hinzugefügt, die bewirkt, dass der Aufruf von find_package() zuerst nach einer Paketkonfigurationsdatei sucht, selbst wenn ein Suchmodul verfügbar ist;
  • Für Schnittstellenbibliotheken wurde die Unterstützung für die Festlegung der Eigenschaften PUBLIC_HEADER und PRIVATE_HEADER hinzugefügt, deren Header durch den Befehl install(TARGETS) über die Argumente PUBLIC_HEADER und PRIVATE_HEADER festgelegt werden können;
  • Die Variable CMAKE_VS_JUST_MY_CODE_DEBUGGING und das Ziel-Property VS_JUST_MY_CODE_DEBUGGING wurden hinzugefügt, um den Modus „Just My Code“ im Visual Studio Debugger bei der Kompilierung mit MSVC cl 19.05 und neueren Versionen zu aktivieren;
  • Das FindBoost-Modul wurde überarbeitet und verarbeitet jetzt vollständiger im Config- und Modulmodus, wenn andere Suchmodule vorhanden sind;
  • Im Befehl message() wurde die Unterstützung für die Typen NOTICE, VERBOSE,
    DEBUG und TRACE hinzugefügt;
  • Der Befehl „export(PACKAGE)“ macht jetzt nichts, bis er explizit über die Variable CMAKE_EXPORT_PACKAGE_REGISTRY aktiviert wird.

Quelle: opennet.ru

60GB SSD 8Gb DDR4