Wasu kwanaki da suka gabata CMake 3.15 giciye-dandamali mai buɗe tushen janareto mai tushe wanda ke aiki azaman madadin Autotools kuma ana amfani dashi a cikin ayyuka kamar KDE, LLVM / Clang, MySQL, MariaDB, ReactOS, da Blender.
CMake kayan aiki ne na kayan aiki da yawa ko kayan aiki da kai. Sunan gajarta ne don "yin dandamali na giciye" (sanya dandamali na giciye, fiye da amfani da "yin" a cikin sunan, CMake babban daki ne daban kuma mafi girman tsari fiye da tsarin gama gari na Unix, kasancewa kama da autotools.
Game da CMake
CMake sananne ne don samar da harshe mai sauƙi, kayan aiki don faɗaɗa ayyuka a cikin ƙananan kayayyaki, ƙaramin adadin masu dogaro (babu ɗauri ga M4, Perl, ko Python), tallafin ɓoyewa, wadatar kayan aiki don haɗakarwa, tallafi don samar da fayilolin taro don tsarin hada abubuwa masu yawa da masu harhaɗawa.
Kayan gwajin da kayan amfani na cpack don ayyana yanayin gwaji da ƙirƙirar kunshin, tare da mai amfani na cmake-gui don haɗawa da daidaita abubuwan gini.
Ana amfani da CMake don sarrafa aikin tattarawa na software ta amfani da fayilolin sanyi masu sauƙi da masu zaman kansu na dandamali. Cmake yana haifar da asalin asali da wuraren aiki waɗanda za'a iya amfani dasu a cikin yanayin haɓaka da ake buƙata.
Ya yi daidai da tsarin ginin Unix GNU ta yadda ake sarrafa aikin ta fayilolin daidaitawa, a cikin batun CMake da ake kira CMakeLists.txt.
Ba kamar tsarin GNU ba, wanda an iyakance shi ne ga dandamali na Unix, CMake yana tallafawa ƙarni na fayiloli don tsarin aiki daban-daban, wanda ke sauƙaƙe kiyayewa da kuma kawar da buƙatar samun fayiloli da yawa ga kowane dandamali.
Tsarin sarrafawa ana sarrafa shi ta ƙirƙirar fayilolin CMakeLists.txt ɗaya ko sama a cikin kowane kundin adireshi (gami da ƙananan hukumomi).
An rubuta lambar CMake a cikin C ++ kuma an rarraba ta ƙarƙashin lasisin BSD.
Babban sabon fasali na CMake 3.15
Wannan sabon sigar Haskakawa da isowar tallafin janareta na farko don yaren Swift Appleirƙira ta Apple an ƙara shi zuwa janareto mai tattara kayan haɗi na Ninja Toolkit.
Bayan wannan, tallafi kuma ya zo don zaɓin mai haɗa Clang don Windows wanda aka gina tare da ABI MSVC, amma yana amfani da zaɓin layin umarni na salon GNU.
Masu haɓakawa sun nanata cewa masu canji ne CMAKE_MSVC_RUNTIME_LIBRARY
y MSVC_RUNTIME_LIBRARY
an ƙara su don zaɓar ɗakunan karatu na lokacin aiki da masu tara abubuwa ke amfani da su ABI MSVC
(MS VisualStudio).
Ga masu harhada abubuwa kamar MSVC
a CMAKE__FLAGS
Ta hanyar tsohuwa, an tsayar da jerin tutocin sarrafa gargaɗi kamar "/ W3".
Daga cikin wasu ci gaban da aka nuna a cikin sanarwar sakin wannan sabon sigar, mun sami waɗannan masu zuwa:
- Ara maganganun samarwa '
COMPILE_LANG_AND_ID
: »Don ayyana zaɓuɓɓukan tarawa don fayilolin manufa waɗanda ke amfani da masu canjiCMAKE__COMPILER_ID
yLANGUAGE
ga kowane lambar fayil - Maganar janareta
C_COMPILER_ID, CXX_COMPILER_ID, CUDA_COMPILER_ID,
Fortran_COMPILER_ID, COMPILE_LANGUAGE, COMPILE_LANG_AND_ID
yPLATFORM_ID
supportara tallafi don daidaita darajar zuwa jeri, wakafi rabu abubuwa - An ƙara m
CMAKE_FIND_PACKAGE_PREFER_CONFIG
, a cikin abin da kiran nemo_package () zai bincika fayil ɗin sanyi na farko, koda kuwa akwai samfurin bincike - Don ɗakunan karatu masu dubawa, an ƙara tallafi don saita kaddarorin
PUBLIC_HEADER y PRIVATE_HEADER
, wanda za a iya saita kanun labarai ta hanyar umarnin shigarwa (TARGETS) wanda ke ba da hujjojinPUBLIC_HEADER
yPRIVATE_HEADER
- An ƙara m
CMAKE_VS_JUST_MY_CODE_DEBUGGING
da dukiyar da aka nufaVS_JUST_MY_CODE_DEBUGGING
don kunna yanayin "Just My Code" a cikin Kayayyakin aikin Studio Visual lokacin tattarawa ta amfani da MSVC cl 19.05 da sababbin juzu'i. - An sake yin amfani da ƙirar FindBoost, wanda yanzu ana samun cikakken aiki a cikin tsarin daidaitawa da ƙirar module tare da kasancewar wasu matakan bincike
- An ƙara tallafi don nau'ikan sanarwa, VERBOSE, DEBUG, da TRACE a cikin umarnin saƙon ()
- Umurnin "fitarwa (PACKAGE)" yanzu baya yin komai har sai an fito dashi a bayyane ta hanyar canjin
CMAKE_EXPORT_PACKAGE_REGISTRY
.
Idan kana son karin bayani game da shi zaka iya tuntuba mahada mai zuwa.