Ukukhishwa kwesistimu yokwakha ye-CMake 3.15

kwenzeka ukukhululwa kwe-cross-platform open build script generator I-CMake 3.15, esebenza njengenye indlela ye-Autotools futhi isetshenziswa kumaphrojekthi afana ne-KDE, LLVM/Clang, MySQL, MariaDB, ReactOS kanye ne-Blender. Ikhodi ye-CMake ibhalwe ngo-C++ futhi isatshalaliswa ngaphansi kwelayisensi ye-BSD.

I-CMake iphawuleka ngokunikeza ulimi olulula lokubhala, indlela yokwandisa ukusebenza ngamamojula, inani elincane lokuncika (akukho ukubophezela ku-M4, i-Perl noma i-Python), ukusekelwa kwe-caching, ukuba khona kwamathuluzi okuhlanganiswa okuphambene, ukusekelwa kokukhiqiza isakhiwo. amafayela ezinhlobonhlobo zezinhlelo zokwakha nabahlanganisi, izinsiza zokubakhona ze-ctest ne-cpack zokuchaza imibhalo yokuhlola namaphakheji wokwakha, insiza ye-cmake-gui yokusetha ngokuhlanganyela imingcele yokwakha.

main ukuthuthukiswa:

  • Usekelo lokuqala lolimi lwengeziwe kujeneretha yeskripthi sokwakha esekwe ku-Ninja Swift, ithuthukiswe i-Apple;
  • Ukwesekwa okwengeziwe kokuhlukile kwe-Clang compiler ye-Windows eyakha nge-MSVC ABI, kodwa isebenzisa izinketho zomugqa womyalo wesitayela se-GNU;
  • Kwengezwe okuhlukile kwe-CMAKE_MSVC_RUNTIME_LIBRARY kanye ne-MSVC_RUNTIME_LIBRARY ukuze ukhethe amalabhulali esikhathi sokusebenza asetshenziswa abahlanganisi asuselwa ku-MSVC ABI (MS Visual Studio);
  • Kubahlanganisi abafana ne-MSVC, CMAKE__FLAGS ngokuzenzakalelayo iyeka ukufaka kuhlu amafulegi okulawula isixwayiso afana ne-"/W3";
  • Kwengezwe isisho sokukhiqiza "COMPILE_LANG_AND_ID:" ukuze kuchazwe izinketho zesihlanganisi zamafayela okuqondiwe, kusetshenziswa okuguquguqukayo kwe-CMAKE__COMPILER_ID kanye nesi-LANGUAGE kufayela lekhodi ngalinye;
  • Enkulumweni yokukhiqiza ethi C_COMPILER_ID, CXX_COMPILER_ID,
    CUDA_COMPILER_ID, Fortran_COMPILER_ID, COMPILE_LANGUAGE,
    I-COMPILE_LANG_AND_ID kanye ne-PLATFORM_ID bengeze usekelo lokufanisa inani elilodwa ohlwini olunezici zalo ezihlukaniswa ngekhoma;

  • Okuhlukile okungeziwe kwe-CMAKE_FIND_PACKAGE_PREFER_CONFIG ukuze ukushaya okuthi find_package() kuzosesha ifayela lokumisa lephakheji kuqala, ngisho noma isitholi sitholakala;
  • Kulabhulali yokusebenzelana, usekelo lwengeziwe lokusetha izici ze-PUBLIC_HEADER kanye ne-PRIVATE_HEADER, okungasethwa ngazo izihloko kusetshenziswa umyalo wokufaka(TARGETS) ngokudlula ama-agumenti angu-PUBLIC_HEADER kanye ne-PRIVATE_HEADER;
  • Kwengezwe i-CMAKE_VS_JUST_MY_CODE_DEBUGGING eguquguqukayo kanye nesakhiwo esiqondiwe VS_JUST_MY_CODE_DEBUGGING ukuze unike amandla imodi ethi "Ikhodi Yami Nje" kusilungisi sephutha se-Visual Studio lapho sihlanganisa kusetshenziswa i-MSVC cl 19.05 nezinguqulo ezintsha;
  • Imojula ye-FindBoost iklanywe kabusha, manje esesebenza ngokugcwele kumodi ye-Config ne-Module lapho kukhona amanye amamojula okusesha;
  • Umlayezo () umyalo manje usekela izinhlobo ISAZISO, VERBOSE,
    DEBUG kanye ne-TRACE;

  • Umyalo "wokuthekelisa(PACKAGE)" manje awenzi lutho ngaphandle kokuthi unikwe amandla ngokucacile ngokuhluka kwe-CMAKE_EXPORT_PACKAGE_REGISTRY.

Source: opennet.ru

Engeza amazwana