CMake 3.17.0 жаңа Ninja сценарий генераторымен, жақсартулармен және т.б.

Іске қосу платформалық ашық сценарий генераторының жаңа нұсқасы CMake 3.17, онда әзірлеушілер жұмыс істеді жаңасын қосу үшін «Ninja Multi-Config» деп аталатын сценарий генераторы, Visual Studio сценарий генераторын жақсарту, жалпы оңтайландыру және т.б.

Білмейтіндер үшін CMake, олар мұны білуі керек мультиплатформалық код жасау немесе автоматтандыру құралы болып табылады ол Autotools-қа балама рөл атқарады және KDE, LLVM / Clang, MySQL, MariaDB, ReactOS және Blender сияқты жобаларда қолданылады.

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

Бұл утилита бағдарламалық жасақтаманың компиляция процесін басқару үшін қолданылады қарапайым және платформадан тәуелсіз конфигурациялық файлдарды қолдану. Қажетті даму ортасында қолдануға болатын жергілікті макияждар мен жұмыс кеңістігін жасайды.

Оны GNU құру жүйесімен салыстыруға болады Unix, процесс CMake жағдайында CMakeLists.txt деп аталатын конфигурация файлдарымен басқарылады.

CMake 3.17.0 нұсқасында қандай жаңалықтар бар

Басында айтылғандай, CMake 3.17.0 жаңа нұсқасында ерекше болатын басты жаңалықтардың бірі - бұл жаңа сценарий генераторын қосу «атауы бар Ninja құралдарына негізделгенNinja көп конфигурациясы«, Бұл алдыңғы генератордан ерекшеленеді, өйткені бұл жаңа генератор бір уақытта бірнеше құрастыру конфигурацияларын өңдеу мүмкіндігін қамтамасыз етеді.

Өз тарапынан, құрастыру сценарийінде Visual Studio үшін енді әр параметрге тіркелген бастапқы файлдарды анықтауға болады.

CUDA үшін метараметрлерді орнату мүмкіндігі («Cuda_std_03», «cuda_std_14» және т.б.) құралдарға қосылды компилятор функцияларын конфигурациялау үшін (Компиляция функциялары).

Бұған қоса, жарнамада бұл туралы айтылады айнымалылар қосылды «CMAKE_CUDA_RUNTIME_LIBRARY«Y»CUDA_RUNTIME_LIBRARY»CUDA-ны қолданған кезде жұмыс уақытының кітапханаларының түрін, сонымен қатар CUDA тілін қоспай-ақ жүйеде қол жетімді CUDA құралдарын анықтау үшін« FindCUDAToolkit »модулін таңдау.

CMake 3.17.0 нұсқасында «–Қатені табу»Іздеу кезінде қосымша оқылатын диагностиканы көрсету үшін қосылды. Ұқсас мақсаттар үшін айнымалы CMAKE_FIND_DEBUG_MODE.

Қосылды «FindCURL» модулінде CURL құралдарын табуға қолдау көрсету cmake жасаған «CURLConfig.cmake» конфигурация файлдарын пайдалану. Бұл әрекетті өшіру үшін CURL_NO_CURL_CMAKE айнымалысы берілген.

Модуль FindPython Python компоненттерін іздеу мүмкіндігін қосады арқылы басқарылатын виртуалды ортадаконда«.

Қосылды опция «–No-тесттер = [қате | елемеу]Ctest утилитасына дәлелдер болмаған кезде мінез-құлықты анықтау және «- қайталау» тестілерді қайта бастау шарттарын көрсету (ол өткенге дейін, уақыт аяқталғаннан кейін).

Хабарландыруда айтылған басқа өзгерістер туралы:

  • Мақсатты қасиеттерді құру INTERFACE_LINK_OPTIONS, INTERFACE_LINK_DIRECTORIES e INTERFACE_LINK_DEPENDS олар статикалық жинақталған кітапханалардың ішкі тәуелділіктері арасында ауыстырылды.
  • MinGW инструменттерін қолданған кезде команданы пайдаланып DLL файлдарын іздеңіз кітапхана ол әдепкі бойынша өшірілген (оның орнына әдепкі бойынша «.dll.a» кітапханаларын импорттауға әрекет жасалады).
  • Ninja генераторында ninja утилитасын таңдау логикасы қазір орындалатын файлдың атауына байланысты емес - бірінші утилита қолданылады ниндзя салу, Ninja o саму табылды, ол PATH ортасының айнымалысы арқылы анықталған жолдарда болады.
  • Пәрмен «-E rm»Бөлек командалардың орнына файлдар мен каталогтарды жоюға болатын cmake утилитасына қосылды«-E алып тастаңыз«Y»-E директориясын алып тастаңыз«.

Finalmente егер сіз бұл туралы көбірек білгіңіз келсе, сіз осы жаңа нұсқаның хабарландыруын келесі сілтеме.


Мақаланың мазмұны біздің ұстанымдарымызды ұстанады редакторлық этика. Қате туралы хабарлау үшін нұқыңыз Мұнда.

Бірінші болып пікір айтыңыз

Пікіріңізді қалдырыңыз

Сіздің электрондық пошта мекен-жайы емес жарияланады. Міндетті өрістер таңбаланған *

*

*

  1. Деректерге жауапты: Мигель Анхель Гатан
  2. Деректердің мақсаты: СПАМ-ны басқару, түсініктемелерді басқару.
  3. Заңдылық: Сіздің келісіміңіз
  4. Деректер туралы ақпарат: заңды міндеттемелерді қоспағанда, деректер үшінші тұлғаларға жіберілмейді.
  5. Деректерді сақтау: Occentus Networks (ЕО) орналастырған мәліметтер базасы
  6. Құқықтар: Сіз кез-келген уақытта ақпаратты шектей, қалпына келтіре және жоя аласыз.