CMake 3.17.0 құрастыру жүйесінің шығарылымы

Жіберген кросс-платформалық ашық құрастыру сценарий генераторын шығару CMake 3.17, ол Autotools қолданбасына балама ретінде әрекет етеді және KDE, LLVM/Clang, MySQL, MariaDB, ReactOS және Blender сияқты жобаларда қолданылады. CMake коды C++ тілінде жазылған және BSD лицензиясы бойынша таратылады.

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

басты жақсартулар:

  • Ninja құралдар жинағына негізделген жаңа құрастыру сценарийінің генераторы қосылды - «Ninja Multi-Config», ол ескі генератордан бірден бірнеше құрастыру конфигурациясын өңдеу мүмкіндігімен ерекшеленеді.
  • Visual Studio үшін құрастыру сценарийінің генераторында пайда болды әрбір конфигурациямен байланысты бастапқы файлдарды анықтау мүмкіндігі (әр конфигурация көздері).
  • CUDA үшін мета параметрлерді орнату мүмкіндігі («cuda_std_03», «cuda_std_14» және т.б.) компилятор параметрлерін орнатуға арналған құралдарға қосылды (Компиляция мүмкіндіктері).
  • CUDA пайдалану кезінде жұмыс уақыты кітапханаларының түрін таңдау үшін "CMAKE_CUDA_RUNTIME_LIBRARY" және "CUDA_RUNTIME_LIBRARY" айнымалылары қосылды.
  • CUDA тілін қоспай-ақ жүйеде қолжетімді CUDA құралдар жинағын анықтау үшін "FindCUDAToolkit" модулі қосылды.
  • Іздеу әрекеттерін орындау кезінде қосымша оқылатын диагностиканы шығару үшін cmake файлына "--debug-find" пәрмені қосылды. Ұқсас мақсаттар үшін CMAKE_FIND_DEBUG_MODE айнымалысы қосылды.
  • «FindCURL» модуліне cmake жасаған «CURLConfig.cmake» конфигурация файлдарын пайдаланып CURL құралдарын іздеуге қолдау қосылды. Бұл әрекетті өшіру үшін CURL_NO_CURL_CMAKE айнымалысы берілген.
  • FindPython модулі «conda» көмегімен басқарылатын виртуалды орталарда Python компоненттерін іздеу мүмкіндігін қосты.
  • ctest утилитасы сынақтар болмаған жағдайда әрекетті анықтау үшін «--no-tests=[error|елемеймін]» опцияларын және сынақтарды қайта орындау шарттарын орнату үшін «--repeat» опцияларын қосты (өткенге дейін, тайм-ауттан кейін).
  • INTERFACE_LINK_OPTIONS, INTERFACE_LINK_DIRECTORIES және INTERFACE_LINK_DEPENDS құрастыру мақсатты сипаттары енді статикалық түрде жиналған кітапханалардың ішкі тәуелділіктері арасында тасымалданады.
  • MinGW құралдар жинағын пайдаланған кезде find_library пәрменімен DLL файлдарын іздеу әдепкі бойынша өшіріледі (орнына әдепкі әрекет «.dll.a» кітапханаларын импорттау болып табылады).
  • Ниндзя генераторындағы ниндзя утилитасын таңдау логикасы енді орындалатын файлдың атына байланысты емес - PATH ортасының айнымалысы арқылы анықталған жолдарда табылған бірінші ниндзя құрастыру, ниндзя немесе samu утилитасы пайдаланылады.
  • Cmake-ге бөлек "-E remove" және "-E remove_directory" пәрмендерінің орнына файлдар мен каталогтарды жою үшін пайдалануға болатын "-E rm" пәрмені қосылды.

Ақпарат көзі: opennet.ru

пікір қалдыру