Wydanie systemu budowania CMake 3.15

Zdarzyło się wydanie wieloplatformowego otwartego generatora skryptów kompilacji CMake 3.15, który pełni rolę alternatywy dla Autotools i jest używany w takich projektach jak KDE, LLVM/Clang, MySQL, MariaDB, ReactOS i Blender. Kod CMake jest napisany w języku C++ i jest udostępniany na licencji BSD.

CMake wyróżnia się tym, że oferuje prosty język skryptowy, możliwości rozszerzenia funkcjonalności poprzez moduły, minimalną liczbę zależności (brak powiązań z M4, Perlem czy Pythonem), wsparcie dla pamięci podręcznej, dostępność narzędzi do kompilacji krzyżowej, generację plików kompilacji dla szerokiej gamy systemów kompilacji i kompilatorów, oraz narzędzi ctest i cpack do definiowania skryptów testowych i pakietów, a także narzędzię cmake-gui do interaktywnej konfiguracji parametrów kompilacji.

Podstawowe ulepszenia:

  • W narzędziu do generowania skryptów budowy opartym na Ninja dodano wstępną obsługę języka Swift, rozwijanego przez firmę Apple;
  • Dodano wsparcie dla wariantu kompilatora Clang na Windows, który przeprowadza kompilację z ABI MSVC, ale używa opcji w stylu GNU w lini komend;
  • Dodano zmienne CMAKE_MSVC_RUNTIME_LIBRARY i MSVC_RUNTIME_LIBRARY do wyboru bibliotek runtime używanych przez kompilatory oparte na ABI MSVC (MS Visual Studio);
  • Dla kompilatorów takich jak MSVC, w CMAKE__FLAGS domyślnie zaprzestano listowania flag sterujących wyświetlaniem ostrzeżeń, takich jak "\/W3";
  • Dodano wyrażenie generatora "COMPILE_LANG_AND_ID:" do określenia opcji kompilatora dla docelowych plików, które wykorzystują zmienne CMAKE__COMPILER_ID i LANGUAGE dla każdego pliku z kodem;
  • W wyrażeniach generatora C_COMPILER_ID, CXX_COMPILER_ID,
    CUDA_COMPILER_ID, Fortran_COMPILER_ID, COMPILE_LANGUAGE,
    COMPILE_LANG_AND_ID oraz PLATFORM_ID dodano wsparcie dla mapowania jednego wartości do listy, której elementy są oddzielone przecinkiem;
  • Dodano zmienną CMAKE_FIND_PACKAGE_PREFER_CONFIG, w której wywołanie find_package() najpierw będzie szukać pliku konfiguracyjnego pakietu, nawet jeśli dostępny jest moduł wyszukiwania;
  • Dla bibliotek interfejsowych dodano wsparcie dla ustawiania właściwości PUBLIC_HEADER i PRIVATE_HEADER, których nagłówki mogą być ustawiane za pomocą komendy install(TARGETS) poprzez przekazanie argumentów PUBLIC_HEADER i PRIVATE_HEADER;
  • Dodano zmienną CMAKE_VS_JUST_MY_CODE_DEBUGGING i docelową właściwość VS_JUST_MY_CODE_DEBUGGING, aby włączyć tryb "Just My Code" w debuggerze Visual Studio przy kompilacji z użyciem MSVC cl 19.05 i nowszych wersji;
  • Przeprojektowano moduł FindBoost, który teraz lepiej działa w trybach Config i Module przy dostępności innych modułów wyszukiwania;
  • Do komendy message() dodano wsparcie dla typów NOTICE, VERBOSE,
    DEBUG i TRACE;
  • Komenda "export(PACKAGE)" teraz nic nie robi, dopóki nie zostanie jawnie włączona przez zmienną CMAKE_EXPORT_PACKAGE_REGISTRY.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster