Ukukhutshwa kwenkqubo yokwakha yeCMake 3.17.0

Yaziswa ukukhululwa kwe-cross-platform evulekileyo yokwakhiwa kwescript yegenerator I-CMake 3.17, esebenza njengenye indlela kwi-Autotools kwaye isetyenziswa kwiiprojekthi ezinjenge KDE, LLVM/Clang, MySQL, MariaDB, ReactOS kunye neBlender. Ikhowudi ye-CMake ibhalwe kwi-C ++ kwaye isasazwe phantsi kwelayisensi ye-BSD.

I-CMake iphawuleka ngokubonelela ngolwimi olulula lokubhala, indlela yokwandisa ukusebenza ngeemodyuli, inani elincinci lokuxhomekeka (akukho nto ibophelelayo kwi-M4, i-Perl okanye i-Python), inkxaso ye-caching, ubukho bezixhobo zokudibanisa, inkxaso yokuvelisa ukwakha. iifayile kuluhlu olubanzi lweenkqubo zokwakha kunye nabaqulunqi, ubukho be-ctest kunye ne-cpack eziluncedo zokuchaza izikripthi zovavanyo kunye neepakethi zokwakha, i-cmake-gui utility yokuseta ngokudibeneyo iparameters zokwakha.

Siseko ukuphucula:

  • Ijenereyitha entsha yeskripthi esekwe kwi-Ninja toolkit yongeziwe - "I-Ninja Multi-Config", eyahluke kwijenereyitha endala ekukwazi ukucubungula ulungelelwaniso lweendibano ezininzi ngaxeshanye.
  • Kwindibano yeskripthi yejenereyitha yeVisual Studio yavela ukukwazi ukuchaza iifayile zemvelaphi ezinxulumene noqwalaselo ngalunye (imithombo yoqwalaselo-nganye).
  • Ikhono lokumisela i-meta parameters kwi-CUDA ("cuda_std_03", "cuda_std_14", njl.
  • Iinguqu ezongeziweyo "CMAKE_CUDA_RUNTIME_LIBRARY" kunye "CUDA_RUNTIME_LIBRARY" ukukhetha udidi lwamathala eencwadi xa usebenzisa iCUDA.
  • Yongeza i "FindCUDAToolkit" imodyuli ukumisela i-CUDA toolkit ekhoyo kwisistim ngaphandle kokwenza ulwimi lweCUDA.
  • Kongezwe "--debug-find" umyalelo kwi-cmmake ukukhupha uxilongo olongezelelweyo olufundekayo xa usenza imisebenzi yokukhangela. Ngeenjongo ezifanayo, CMAKE_FIND_DEBUG_MODE umahluko wongeziwe.
  • Inkxaso eyongeziweyo yokukhangela izixhobo ze-CURL usebenzisa iifayile zoqwalaselo ezenziwe yi-cmake "CURLConfig.cmake" kwimodyuli ye-"FindCURL". Ukuyekisa lempatho, i CURL_NO_CURL_CMAKE iyahluka inikezelwe.
  • Imodyuli ye-FindPython yongeze amandla okukhangela amacandelo ePython kwiindawo ezibonakalayo ezilawulwa kusetyenziswa "conda".
  • I-ctest utility yongeze "--no-tests=[impazamo| ungayihoyi]" iinketho zokuchaza indlela yokuziphatha kwimeko yokungabikho kovavanyo kwaye "--phinda" ukuseta iimeko zokuqhuba kwakhona iimvavanyo (de-kudlule, emva kwexesha).
  • Iipropati ekujoliswe kuzo yindibano INTERFACE_LINK_OPTIONS, INTERFACE_LINK_DIRECTORIES kunye ne-INTERFACE_LINK_DEPENDS ngoku zikhutshelwa phakathi kokuxhomekeka kwangaphakathi kumathala eencwadi adityaniswe ngokweenkcukacha-manani.
  • Xa usebenzisa iMinGW toolkit, uphendlo lweefayile zeDLL ngomyalelo we find_library luvaliwe ngokungagqibekanga (endaweni yoko, umzamo ongagqibekanga kukungenisa ".dll.a" amathala).
  • Ingqiqo yokukhetha into eluncedo ye-ninja kwi-Ninja generator ngoku ayixhomekeke kwigama lefayile ephunyeziweyo - i-ninja-build yokuqala, i-ninja okanye i-samu eluncedo efunyenwe kwiindlela ezichazwe kwi-PATH variable variable isetyenziswa.
  • Kongezwe umyalelo othi "-E rm" kwi-cmmake enokusetyenziswa ukususa iifayile nabalawuli endaweni yemiyalelo ethi "-E remove" kunye ne "-E remove_directory".

umthombo: opennet.ru

Yongeza izimvo