CMake 3.15 куруу системасын чыгаруу

болуп өттү кайчылаш платформа ачык куруу скрипт генераторун чыгаруу CMake 3.15, ал Autotools альтернатива катары иштейт жана KDE, LLVM/Clang, MySQL, MariaDB, ReactOS жана Blender сыяктуу долбоорлордо колдонулат. CMake коду C++ тилинде жазылган жана BSD лицензиясы боюнча таратылган.

CMake жөнөкөй скрипт тилин, модулдар аркылуу функционалдуулукту кеңейтүү каражатын, көз карандылыктын минималдуу санын (M4, Perl же Python менен байланыштыруу жок), кэштөө колдоосун, кайчылаш компиляция үчүн куралдардын болушун, түзүүнү генерациялоону колдоо менен өзгөчөлөнөт. куруу системаларынын жана компиляторлордун кеңири диапазону үчүн файлдар, сыноо скрипттерин жана куруу пакеттерин аныктоо үчүн ctest жана cpack утилиталары, куруу параметрлерин интерактивдүү орнотуу үчүн cmake-gui утилитасы.

негизги жакшыртуулар:

  • Ниндзяга негизделген куруу скрипт генераторуна баштапкы тилди колдоо кошулду Күлүк, Apple тарабынан иштелип чыккан;
  • MSVC ABI менен түзүлгөн, бирок GNU стилиндеги буйрук сабынын варианттарын колдонгон Windows үчүн Clang компиляторунун вариантына колдоо кошулду;
  • CMAKE_MSVC_RUNTIME_LIBRARY жана MSVC_RUNTIME_LIBRARY өзгөрмөлөрү MSVC ABI (MS Visual Studio) негизинде компиляторлор тарабынан колдонулган иштөө убактысынын китепканаларын тандоо үчүн кошулду;
  • MSVC сыяктуу компиляторлор үчүн, CMAKE__FLAGS демейки боюнча "/W3" сыяктуу эскертүүчү башкаруу желектеринин тизмесин токтотот;
  • Ар бир код файлы үчүн CMAKE__COMPILER_ID жана LANGUAGE өзгөрмөлөрүн колдонуп, максаттуу файлдар үчүн компилятордун параметрлерин аныктоо үчүн "COMPILE_LANG_AND_ID:" генератор туюнтмасы кошулду;
  • C_COMPILER_ID, CXX_COMPILER_ID генератор туюнтмаларында,
    CUDA_COMPILER_ID, Fortran_COMPILER_ID, COMPILE_LANGUAGE,
    COMPILE_LANG_AND_ID жана PLATFORM_ID элементтери үтүр менен бөлүнгөн тизмеге бир маанини дал келтирүү үчүн колдоо кошту;

  • CMAKE_FIND_PACKAGE_PREFER_CONFIG өзгөрмө кошулду, андыктан find_package() чалуу, тапкыч жеткиликтүү болсо да, алгач пакеттин конфигурация файлын издейт;
  • Интерфейс китепканалары үчүн PUBLIC_HEADER жана PRIVATE_HEADER касиеттерин орнотуу үчүн колдоо кошулду, алар аркылуу PUBLIC_HEADER жана PRIVATE_HEADER аргументтерин өткөрүү аркылуу install(TARGETS) буйругу аркылуу баш аттарды коюуга болот;
  • MSVC cl 19.05 жана андан жаңыраак версияларды колдонуу менен компиляциялоодо Visual Studio мүчүлүштүктөрдү оңдоочуда "Жөн гана Менин Code" режимин иштетүү үчүн CMAKE_VS_JUST_MY_CODE_DEBUGGING өзгөрмө жана максаттуу касиети VS_JUST_MY_CODE_DEBUGGING кошулду;
  • FindBoost модулу кайра жасалгаланды, ал азыр башка издөө модулдарынын катышуусунда Конфигурация жана Модуль режимдеринде толугураак иштейт;
  • message() буйругу азыр NOTICE, VERBOSE түрлөрүн колдойт,
    DEBUG and TRACE;

  • CMAKE_EXPORT_PACKAGE_REGISTRY өзгөрмө аркылуу ачык иштетилмейинче "export(PACKAGE)" буйругу эми эч нерсе кылбайт.

Source: opennet.ru

Комментарий кошуу