Kutolewa kwa mfumo wa ujenzi wa CMake 3.17.0

Iliyowasilishwa na kutolewa kwa jenereta ya hati ya ujenzi ya jukwaa-mbali CMake 3.17, ambayo hufanya kama njia mbadala ya Autotools na inatumika katika miradi kama vile KDE, LLVM/Clang, MySQL, MariaDB, ReactOS na Blender. Msimbo wa CMake umeandikwa katika C++ na kusambazwa chini ya leseni ya BSD.

CMake inajulikana kwa kutoa lugha rahisi ya uandishi, njia ya kupanua utendaji kupitia moduli, idadi ndogo ya utegemezi (hakuna kufungwa kwa M4, Perl au Python), usaidizi wa kache, uwepo wa zana za ujumuishaji, usaidizi wa kuunda muundo. faili za anuwai ya mifumo ya ujenzi na vikusanyaji, huduma za uwepo wa ctest na cpack za kufafanua hati za majaribio na vifurushi vya ujenzi, matumizi ya cmake-gui kwa kuweka vigezo vya ujenzi kwa mwingiliano.

kuu maboresho:

  • Jenereta mpya ya hati ya mkusanyiko kulingana na zana ya zana ya Ninja imeongezwa - "Ninja Multi-Config", ambayo inatofautiana na jenereta ya zamani katika uwezo wa kuchakata usanidi kadhaa wa mkusanyiko mara moja.
  • Katika jenereta ya hati ya kusanyiko ya Visual Studio alionekana uwezo wa kufafanua faili za chanzo zinazohusiana na kila usanidi (vyanzo vya kila-config).
  • Uwezo wa kuweka vigezo vya meta kwa CUDA (β€œcuda_std_03”, β€œcuda_std_14”, n.k.) umeongezwa kwenye zana za kuweka vigezo vya mkusanyaji (Vipengele vya Kukusanya).
  • Vigezo vilivyoongezwa "CMAKE_CUDA_RUNTIME_LIBRARY" na "CUDA_RUNTIME_LIBRARY" ili kuchagua aina ya maktaba zinazotumika wakati wa kutumia CUDA.
  • Imeongeza moduli ya "FindCUDAToolkit" ili kubainisha zana ya CUDA inayopatikana kwenye mfumo bila kuwezesha lugha ya CUDA.
  • Imeongeza amri ya "--debug-find" kwa cmake ili kutoa uchunguzi wa ziada unaoweza kusomeka wakati wa kufanya shughuli za utafutaji. Kwa madhumuni sawa, tofauti ya CMAKE_FIND_DEBUG_MODE imeongezwa.
  • Usaidizi ulioongezwa wa kutafuta zana za CURL kwa kutumia faili za usanidi zinazozalishwa na cmake "CURLConfig.cmake" kwenye moduli ya "FindCURL". Ili kulemaza tabia hii, kigezo cha CURL_NO_CURL_CMAKE kimetolewa.
  • Moduli ya FindPython imeongeza uwezo wa kutafuta vipengele vya Python katika mazingira ya kawaida yanayosimamiwa kwa kutumia "conda".
  • Huduma ya ctest imeongeza chaguo za "--no-tests=[error|puuza]" ili kufafanua tabia ikiwa hakuna majaribio na "--repeat" ili kuweka masharti ya kufanya majaribio tena (mpaka kupita, baada ya muda).
  • Sifa lengwa la mkusanyiko INTERFACE_LINK_OPTIONS, INTERFACE_LINK_DIRECTORIES na INTERFACE_LINK_DEPENDS sasa zinahamishwa kati ya tegemezi za ndani za maktaba zilizokusanywa kwa takwimu.
  • Unapotumia kisanduku cha zana cha MinGW, utafutaji wa faili za DLL kwa amri ya find_library umezimwa kwa chaguo-msingi (badala yake, jaribio la msingi ni kuleta maktaba za ".dll.a").
  • Mantiki ya kuchagua matumizi ya ninja katika jenereta ya Ninja sasa haitegemei jina la faili inayoweza kutekelezwa - matumizi ya kwanza ya ninja-build, ninja au samu inayopatikana katika njia zilizofafanuliwa kupitia utofauti wa mazingira wa PATH hutumiwa.
  • Imeongeza amri ya "-E rm" kwa cmake ambayo inaweza kutumika kuondoa faili na saraka badala ya amri tofauti za "-E remove" na "-E remove_directory".

Chanzo: opennet.ru

Kuongeza maoni