Kukhutshwe uhlaziyo olutsha lwe-CMake 3.15 yokuvelisa iscript

cmake

Kwiintsuku ezithile ezidlulileyo Kukhutshwe i-CMake 3.15 yeqonga lomthombo elivelileyo esebenza njengenye ye-Autotools kwaye isetyenziswa kwiiprojekthi ezinje nge KDE, LLVM / Clang, MySQL, MariaDB, ReactOS, kunye neBlender.

I-CMake sisixhobo sokuvelisa iikhowudi ezininzi okanye isixhobo esizisebenzelayo. Igama sishunqulelo "sokwenza iqonga lomnqamlezo" (yenza iqonga lomnqamlezo, ngaphaya kokusebenzisa "ukwenza" egameni, I-CMake yindawo eyahlukileyo kunye nenqanaba eliphezulu kunenkqubo yokwenza eqhelekileyo ye Unix, ifana nee-autotools.

Malunga neCMake

CMake iyaphawuleka ngokubonelela ngolwimi olulula, izixhobo zokwandisa ukusebenza kwiimodyuli, inani elincinci lokuxhomekeka (akukho zibophelelo kwi-M4, ePerl, okanye kwiPython), inkxaso ye-caching, ukubakho kwezixhobo zokudibanisa umnqamlezo, inkxaso yokuvelisa iifayile zebandla kuluhlu olubanzi lweenkqubo zomhlanganisi kunye nabahlanganisi.

Izixhobo ze-ctest kunye ne-cpack zokuchaza imeko zovavanyo kunye nokudala iphakheji, kunye nokusetyenziswa kwe-cmake-gui kulungelelwaniso lwendibaniselwano yolwakhiwo.

I-CMake isetyenziselwa ukulawula inkqubo yokuhlanganiswa kwesoftware isebenzisa iifayile ezilula kunye nezizimeleyo yeqonga. I-Cmake ivelisa iifayile zemveli kunye neendawo zokusebenza ezinokusetyenziswa kwimeko yophuhliso enqwenelekayo.

Inokuthelekiswa nenkqubo yokwakha ye-Unix GNU yokuba inkqubo ilawulwa ziifayile zoqwalaselo, kwimeko yeCMake ebizwa ngokuba yiCMakeLists.txt.

Ngokungafaniyo nenkqubo yokwakha ye-GNU, ethi Ithintelwe kumaqonga eUnix, I-CMake ixhasa ukuveliswa kweefayile kwiinkqubo ezahlukeneyo zokusebenza, eziququzelela ukugcinwa kunye nokuphelisa isidingo sokuba neefayile ezininzi kwiqonga ngalinye.

Inkqubo yokwakha ilawulwa ngokwenza enye okanye ngaphezulu kweefayile zeCMakeLists.txt kulawulo ngalunye (kubandakanya neefayile ezikwimibhalo engezantsi).

Ikhowudi yeCMake ibhaliwe kwi-C ++ kwaye ihanjiswa phantsi kwelayisensi ye-BSD.

I-CMake 3.15 Iimpawu eziNtsha eziPhambili

Le nguqulo intsha ibonakalisiwe kukufika kwenkxaso yokuqala yomvelisi wolwimi olukhawulezayo iphuhliswe ngu-Apple yongezwe kumvelisi wesikripthi seNinja Toolkit.

Ngaphandle koku, iza nenkxaso kukhetho lomhlanganisi weClang yeeWindows ezakhiwe ngeABI MSVC, kodwa isebenzisa iindlela zendlela yomyalelo we-GNU.

Abaphuhlisi bagxininisa ukuba izinto eziguquguqukayo CMAKE_MSVC_RUNTIME_LIBRARY y MSVC_RUNTIME_LIBRARY ziyongezwa ukukhetha iilayibrari zexesha lokusebenza ezisetyenziswa ngabahlanganisi ABI MSVC (KwiMS Studio Studio).

Kwiikhomputha ezinje MSVC, kwi CMAKE__FLAGSNgokuzenzekelayo, uluhlu lweeflegi zokulawula isilumkiso ezinje nge "/ W3" luyekisiwe.

Olunye uphuculo oluqaqanjisiweyo kwisibhengezo sokukhutshwa kwale nguqulo intsha, sifumana oku kulandelayo:

  • Yongeze intetho evelisayo 'COMPILE_LANG_AND_ID: »Ukuseta iinketho zomhlanganisi zeefayile ekujoliswe kuzo ezisebenzisa izinto eziguquguqukayo CMAKE__COMPILER_ID y LANGUAGE kwifayile nganye yekhowudi
  • Amagqabantshintshi C_COMPILER_ID, CXX_COMPILER_ID, CUDA_COMPILER_ID, Fortran_COMPILER_ID, COMPILE_LANGUAGE, COMPILE_LANG_AND_ID y PLATFORM_ID yongeza inkxaso yokuthelekisa ixabiso kuluhlu, izinto ezahlulwe ngokhefana
  • Umahluko wongezwa CMAKE_FIND_PACKAGE_PREFER_CONFIG, apho umnxeba uza kufumana_package () uza kujonga ifayile ye-package kuqala, nokuba imodyuli yokukhangela iyafumaneka
  • Kwiilayibrari ezinonxibelelwano, inkxaso yongezwa kuseto lweepropathi PUBLIC_HEADER y PRIVATE_HEADER, Ezintloko zayo zinokuqwalaselwa ngumyalelo wokufaka (IITARGETS) zokudlulisa iimpikiswano PUBLIC_HEADER y PRIVATE_HEADER
  • Umahluko wongezwa CMAKE_VS_JUST_MY_CODE_DEBUGGING kunye nepropathi yendawo ekuyiwa kuyo VS_JUST_MY_CODE_DEBUGGING ukwenza imowudi "yeKhowudi yam nje" kwi-Visual Studio debugger xa usenza i-MSVC cl 19.05 kunye neenguqulelo ezintsha.
  • Imodyuli ye-FindBoost yenziwe yasebenza kwakhona, ngoku esebenza ngokuzeleyo kuqwalaselo nakwimodyuli zemodyuli kunye nobukho bezinye iimodyuli zokukhangela
  • Inkxaso yeSAZISO, VERBOSE, DEBUG, kunye neentlobo ze-TRACE zongezwa kumyalezo we-message ()
  • Umyalelo we "export (PACKAGE)" ngoku awenzi nto de ibe yenziwe ngokucacileyo ngokudibeneyo CMAKE_EXPORT_PACKAGE_REGISTRY.

Ukuba ufuna ukwazi ngakumbi ngayo ungadibana eli khonkco lilandelayo.


Shiya uluvo lwakho

Idilesi yakho ye email aziyi kupapashwa. ezidingekayo ziphawulwe *

*

*

  1. Uxanduva lwedatha: UMiguel Ángel Gatón
  2. Injongo yedatha: Ulawulo lwe-SPAM, ulawulo lwezimvo.
  3. Umthetho: Imvume yakho
  4. Unxibelelwano lwedatha: Idatha ayizukuhanjiswa kubantu besithathu ngaphandle koxanduva lomthetho.
  5. Ukugcinwa kweenkcukacha
  6. Amalungelo: Ngalo naliphi na ixesha unganciphisa, uphinde uphinde ucime ulwazi lwakho.