Релиз на сборната система CMake 4.0.0

Представен е релиз на кросплатформения отворен генератор за скриптове за компилация CMake 4.0.0, който служи като алтернатива на Autotools и се използва в проекти като KDE, LLVM/Clang, MySQL, MariaDB, ReactOS и Blender. Кодът на CMake е написан на C++ и се разпространява под BSD лиценз.

CMake се отличава с предоставянето на прост скриптов език, средства за разширяване на функционалността чрез модули, поддръжка на кеширане, наличието на инструменти за крос-компилация, поддръжка на генериране на файлове за компилация за широк спектър от системи за компилация и компилатори, наличието на утилити ctest и cpack за дефиниране на тестови скриптове и пакети, както и утилита cmake-gui за интерактивно конфигуриране на параметри на компилацията.

Основни промени:

  • Спирането на съвместимостта с версии на CMake преди изданието 3.5 е в сила. Сега при свързване с неподдържани версии в функциите cmake_minimum_required() и cmake_policy() ще се показва грешка.
  • Добавена е променлива на средата „CMAKE_POLICY_VERSION_MINIMUM“ за преопределяне на минималната версия на CMake, необходима за компилиране на проекта. Добавената променлива позволява да се избегне смяна на извикванията cmake_minimum_required(VERSION) и cmake_policy(VERSION) в самия проект, например, за конфигуриране на политики на версиите в проекти, които не предвиждат такава възможност.
  • В израза на генератора „$“ е добавена операция „NATIVE_PATH“ за преобразуване на файловия път от представянето на CMake (където за разделяне на директории се използва „/“) в системния път (в Unix-подобни системи се използва „/“, а в Windows — „\“).
  • На платформата macOS, при използване на генератори за компилационни скриптове, базирани на инструментариума Ninja и генератори Makefile, ако в директорията „/usr/bin“ присъства компилатор, той вече остава такъв, без свързване с компилатора в Xcode. При компилация за платформата macOS по подразбиране спиран е изборът на SDK и предаването на флага „-isysroot“ на компилатора (SDK сега се избира от самия компилатор, а не от CMake).
  • Добавено е свойство LINK_WARNING_AS_ERROR, при което предупрежденията на компоновщика ще бъдат третирани като грешки. За деактивиране на това свойство е добавена опция на командния ред „—link-no-warning-as-error“.
  • Към утилитата cmake е добавена опция „—project-file“ за задаване на алтернативно име на файла CMakeLists.txt.
  • В генератора CPack е добавена възможността за създаване на несжати tar-архиви.
  • В функцията target_link_libraries() и променливите CMAKE_EXE_LINKER_FLAGS*, CMAKE_SHARED_LINKER_FLAGS*, CMAKE_MODULE_LINKER_FLAGS* е добавена поддръжка за префикса „LINKER:“.
  • Добавени са нови променливи:
    • CMAKE_EXECUTE_PROCESS_COMMAND_ERROR_IS_FATAL,
    • CMAKE__LINK_MODE,
    • CMAKE__DEVICE_LINK_MODE,
    • CMAKE_LINK_WARNING_AS_ERROR,
    • CMAKE_MSVC_RUNTIME_CHECKS,
    • CMAKE_DEBUGGER_WORKING_DIRECTORY,
    • CMAKE_XCODE_SCHEME_LLDB_INIT_FILE,
    • CMAKE_XCODE_SCHEME_TEST_CONFIGURATION.
  • Добавени са нови свойства: DEBUGGER_WORKING_DIRECTORY и VS_SOLUTION_ITEMS (за прикрепяне на файлове към .sln за Visual Studio).
  • Осигурено е генерирането на готови CMake сборки за SunOS за архитектури sparc64 и x86_64.

Източник: opennet.ru

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster