Ukukhutshwa kwenkqubo yokwakha yeCMake 3.15

yathatha indawo ukukhululwa kwe-cross-platform evulekileyo yokwakhiwa kwescript yegenerator I-CMake 3.15, 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:

  • Inkxaso yolwimi lokuqala yongezwe kwi-Ninja-based build script generator Swift, iphuhliswe nguApple;
  • Inkxaso eyongeziweyo yomahluko we Clang compiler ye Windows eyakha nge MSVC ABI, kodwa isebenzisa iinketho zelayini yomyalelo yesimbo seGNU;
  • Kongezwe i-CMAKE_MSVC_RUNTIME_LIBRARY kunye ne-MSVC_RUNTIME_LIBRARY eguquguqukayo ukukhetha iilayibrari zexesha lokusebenza ezisetyenziswa ngabaqulunqi ngokusekelwe kwi-MSVC ABI (MS Visual Studio);
  • Kubaqulunqi abafana noMSVC, CMAKE__FLAGS ngokungagqibekanga iyeke ukudwelisa iiflegi zolawulo lwesilumkiso ezifana ne "/W3";
  • Yongeza intetho yomvelisi "COMPILE_LANG_AND_ID:" ukuchaza iinketho zomqokeleli kwiifayile ekujoliswe kuzo, kusetyenziswa iCMAKE__COMPILER_ID kunye LANGUAGE ezahlukeneyo kwifayile yekhowudi nganye;
  • Kwintetho yomvelisi C_COMPILER_ID, CXX_COMPILER_ID,
    CUDA_COMPILER_ID, Fortran_COMPILER_ID, COMPILE_LANGUAGE,
    COMPILE_LANG_AND_ID kunye ne-PLATFORM_ID yongeze inkxaso yokuthelekisa ixabiso elinye kuluhlu olunezici zalo ezahlulwe ngesiphumlisi;

  • Uguqulo olongeziweyo CMAKE_FIND_PACKAGE_PREFER_CONFIG ukuze ukufowuna find_package() ikhangele ifayile yoqwalaselo yempahla kuqala, nokuba umfumani ukhona;
  • Kujongano lwamathala eencwadi, inkxaso yongeziwe yokucwangcisa i PUBLIC_HEADER kunye ne PRIVATE_HEADER iipropati, apho iiheader zingasetwa kusetyenziswa i-install(TARGETS) umyalelo ngokudlula iPUBLIC_HEADER kunye PRIVATE_HEADER iingxoxo;
  • Yongezwe i-CMAKE_VS_JUST_MY_CODE_DEBUGGING eguquguqukayo kunye nepropati ekujoliswe kuyo VS_JUST_MY_CODE_DEBUGGING ukwenza ukuba imo ye-"Just My Code" kwi-Visual Studio debugger xa uqulunqa usebenzisa i-MSVC cl 19.05 kunye neenguqulelo ezintsha;
  • Imodyuli yeFindBoost yenziwe ngokutsha, esebenza ngokugqibeleleyo ngakumbi kwiimodyuli zeConfig kunye neModyuli kubukho bezinye iimodyuli zokukhangela;
  • Umyalezo () umyalelo ngoku uxhasa iintlobo ISAZISO, VERBOSE,
    DEBUG kunye ne-TRACE;

  • Umyalelo "wokurhweba ngaphandle(PACKAGE)" ngoku awenzi nto ngaphandle kokuba yenziwe ngokucacileyo ngokutshintsha kweCMAKE_EXPORT_PACKAGE_REGISTRY.

umthombo: opennet.ru

Yongeza izimvo