Жаңа CMake 3.15 сценарий генераторының жаңартуы шығарылды

смаке

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

CMake - бұл мультиплатформалық код жасау немесе автоматтандыру құралы. Бұл атау «кросс платформасының маркасының» аббревиатурасы (атауында «жасау» мағынасынан тыс, кросс платформасын жасаңыз, CMake - бұл жеке люкс және қарапайым make жүйесінен жоғары деңгей автотұрақтарға ұқсас Unix.

CMake туралы

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

Ctest және cpack утилиталары тестілік сценарийлерді анықтауға және бумаларды құруға арналған, cmake-gui утилитасымен құрастыру параметрлерін интерактивті түрде конфигурациялауға болады.

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

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

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

Құрастыру процесі әр каталогта (ішкі каталогтарды қоса) бір немесе бірнеше CMakeLists.txt файлдарын құру арқылы басқарылады.

CMake коды C ++ тілінде жазылған және BSD лицензиясы бойынша таратылады.

CMake 3.15 негізгі жаңа мүмкіндіктері

Бұл жаңа нұсқа Swift тілі үшін бастапқы генераторлық қолдаудың келуімен ерекшеленеді Apple әзірлеген Ninja Toolkit құрастыру сценарий генераторына қосылды.

Сонымен қатар, сонымен қатар Clang компиляторы параметріне қолдау көрсетіледі Windows үшін ABI MSVC-мен жасалған, бірақ GNU стиліндегі командалық жол опцияларын қолданады.

Әзірлеушілер айнымалылар деп атап көрсетеді CMAKE_MSVC_RUNTIME_LIBRARY y MSVC_RUNTIME_LIBRARY компиляторлар пайдаланатын жұмыс уақытының кітапханаларын таңдау үшін қосылады ABI MSVC (MS VisualStudio).

Сияқты компиляторларға арналған MSVCкіреді CMAKE__FLAGSӘдепкі бойынша, «/ W3» сияқты ескертуді басқару жалауларының тізімі тоқтатылады.

Осы жаңа нұсқаны шығару туралы хабарландыруда көрсетілген басқа жақсартулардың ішінен біз мынаны табамыз:

  • Жасайтын өрнек қосылды 'COMPILE_LANG_AND_ID: »Айнымалыларды қолданатын мақсатты файлдар үшін компилятор параметрлерін анықтау CMAKE__COMPILER_ID y LANGUAGE әр код файлы үшін
  • Генератордың өрнектері C_COMPILER_ID, CXX_COMPILER_ID, CUDA_COMPILER_ID, Fortran_COMPILER_ID, COMPILE_LANGUAGE, COMPILE_LANG_AND_ID y PLATFORM_ID мәнді тізімге, үтірмен бөлінген элементтерге сәйкестендіруді қосу
  • Айнымалы қосылды CMAKE_FIND_PACKAGE_PREFER_CONFIG, іздеу модулі қол жетімді болса да, find_package () шақыруы алдымен буманың конфигурациялық файлын іздейді.
  • Интерфейстік кітапханалар үшін сипаттарды орнатуға қолдау қосылды PUBLIC_HEADER y PRIVATE_HEADER, оның тақырыптарын аргументтерді жіберетін install (TARGETS) командасы арқылы конфигурациялауға болады PUBLIC_HEADER y PRIVATE_HEADER
  • Айнымалы қосылды CMAKE_VS_JUST_MY_CODE_DEBUGGING және тағайындалған меншік VS_JUST_MY_CODE_DEBUGGING MSVC cl 19.05 және жаңа нұсқаларын пайдаланып компиляциялау кезінде Visual Just отладчикінде «Just My Code» режимін қосу.
  • FindBoost модулі қайта өңделді, ол қазір конфигурация мен модуль режимдерінде басқа іздеу модульдерінің қатысуымен толығымен жұмыс істеп жатыр
  • Хабарлама () пәрменіне NOTICE, VERBOSE, DEBUG және TRACE түрлеріне қолдау қосылды
  • «Экспорт (PACKAGE)» командасы енді айнымалы арқылы нақты қосылмайынша ешнәрсе істемейді CMAKE_EXPORT_PACKAGE_REGISTRY.

Егер сіз бұл туралы көбірек білгіңіз келсе, кеңес ала аласыз келесі сілтеме.


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

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

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

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

*

*

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