Kutulutsidwa kwa CMake 3.17.0 build system

Yovomerezedwa ndi kutulutsidwa kwa jenereta yotsegulira script yotsegulira nsanja Mpweya 3.17, yomwe imakhala ngati njira ina ya Autotools ndipo imagwiritsidwa ntchito m'mapulojekiti monga KDE, LLVM/Clang, MySQL, MariaDB, ReactOS ndi Blender. Khodi ya CMake imalembedwa mu C ++ ndikugawidwa pansi pa layisensi ya BSD.

CMake ndiwodziwikiratu popereka chilankhulo chosavuta cholembera, njira yowonjezerera magwiridwe antchito kudzera m'ma module, kudalira pang'ono (palibe chomangirira ku M4, Perl kapena Python), chithandizo cha caching, kupezeka kwa zida zophatikizira, kuthandizira popanga zomangamanga. mafayilo amitundu yosiyanasiyana yomangira ndi ma compilers, kupezeka kwa ctest ndi cpack zofunikira pofotokozera zolemba zoyeserera ndi phukusi lomanga, cmake-gui utility pakukhazikitsa magawo omangika molumikizana.

waukulu kuwongolera:

  • Jenereta yatsopano yochokera pagulu la zida za Ninja yawonjezedwa - "Ninja Multi-Config", yomwe imasiyana ndi jenereta yakale pakutha kukonza masinthidwe angapo nthawi imodzi.
  • Mumsonkhano wa jenereta wa Visual Studio adawonekera Kutha kufotokozera mafayilo oyambira omwe amalumikizidwa ndi kasinthidwe kulikonse (magwero amtundu uliwonse).
  • Kutha kukhazikitsa magawo a meta a CUDA ("cuda_std_03", "cuda_std_14", etc.) awonjezedwa ku zida zoikira magawo a compiler (Compile Features).
  • Onjezani zosintha "CMAKE_CUDA_RUNTIME_LIBRARY" ndi "CUDA_RUNTIME_LIBRARY" kuti musankhe mtundu wamalaibulale othamanga mukamagwiritsa ntchito CUDA.
  • Anawonjezera gawo la "FindCUDAToolkit" kuti mudziwe zida za CUDA zomwe zikupezeka padongosolo popanda kuyambitsa chilankhulo cha CUDA.
  • Adawonjezera lamulo la "-debug-find" ku cmake kuti atulutse zowunikira zina zowerengeka pofufuza. Zofananira, CMAKE_FIND_DEBUG_MODE zosintha zawonjezedwa.
  • Thandizo lowonjezera posaka zida za CURL pogwiritsa ntchito mafayilo osinthika opangidwa ndi cmake "CURLConfig.cmake" ku gawo la "FindCURL". Kuti mulepheretse izi, CURL_NO_CURL_CMAKE zosintha zimaperekedwa.
  • Gawo la FindPython lawonjezera kuthekera kofufuza zida za Python m'malo omwe amayendetsedwa pogwiritsa ntchito "conda".
  • The ctest utility yawonjezera "--no-tests=[error|ignore]" zosankha kuti afotokozere zomwe zimachitika ngati palibe mayeso ndi "--repeat" kukhazikitsa mikhalidwe yoyesereranso (mpaka-kudutsa, pambuyo pa nthawi).
  • Magulu omwe akukonzekera INTERFACE_LINK_OPTIONS, INTERFACE_LINK_DIRECTORIES ndi INTERFACE_LINK_DEPENDS tsopano asamutsidwa kutengera zomwe zili mkati mwa malaibulale olumikizidwa mosamalitsa.
  • Mukamagwiritsa ntchito zida za MinGW, kusaka mafayilo a DLL ndi lamulo la find_library kuzimitsidwa mwachisawawa (m'malo mwake, kuyesa kokhazikika ndikulowetsa ".dll.a" library).
  • Lingaliro losankhira zida za ninja mu jenereta ya Ninja tsopano sizitengera dzina la fayilo yomwe ingagwiritsidwe ntchito - choyambirira cha ninja-build, ninja kapena samu chopezeka m'njira zomwe zafotokozedwa kudzera pa PATH chilengedwe chosinthika chimagwiritsidwa ntchito.
  • Anawonjezera lamulo la "-E rm" ku cmake lomwe lingagwiritsidwe ntchito kuchotsa mafayilo ndi zolemba m'malo mwa "-E kuchotsa" ndi "-E remove_directory" malamulo.

Source: opennet.ru

Kuwonjezera ndemanga