Sakin tsarin ginin CMake 3.16

Ƙaddamar da saki na giciye-dandamali bude gina rubutun janareta Babban Shafi 3.16, wanda ke aiki azaman madadin Autotools kuma ana amfani dashi a cikin ayyukan kamar KDE, LLVM/Clang, MySQL, MariaDB, ReactOS da Blender. An rubuta lambar CMake a cikin C++ kuma an rarraba ta ƙarƙashin lasisin BSD.

CMake sananne ne don samar da harshe mai sauƙi na rubutu, hanyar haɓaka ayyuka ta hanyar ƙirar ƙira, ƙaramin adadin abin dogaro (babu ɗaure ga M4, Perl ko Python), tallafin caching, kasancewar kayan aikin haɗin giciye, tallafi don ƙirƙirar gini. fayiloli don kewayon tsarin ginawa da masu tarawa, kasancewar ctest da abubuwan amfani na cpack don ayyana rubutun gwaji da fakitin gini, mai amfani cmake-gui don saita sigogi na haɗin kai.

Main ingantawa:

  • Ƙara goyon baya ga Manufar C ("OBJC") da Harsunan Maƙasudin
    C ++ ("OBJCXX"), wanda za'a iya kunna ta hanyar aikin () da kuma ikon_language() umarni, bayan haka lambar da ke cikin fayilolin ".m" ".mm" za ta tattara a matsayin Objective C da Objective C ++ code, maimakon kamar yadda C++, kamar yadda yake a da;

  • Ƙara goyon baya ga mai tarawa Clang akan dandalin Solaris;
  • Ƙara sabbin zaɓuɓɓukan layin umarni: “cmake -E gaskiya |ƙarya” don buga lambobin dawowa 0 da 1; "cmake --trace-redirect="don tura bayanan ganowa zuwa fayil maimakon
    "Stderr"; An canza sunan umarnin "cmake --loglevel" zuwa "-log-level" don kawo shi daidai da sunayen sauran dokokin;

  • An ƙara umarnin "target_precompile_headers()" don jera jerin fayilolin rubutun da aka yi amfani da su yayin tsarawa (yana rage lokacin ginawa);
  • An ƙara kayan "UNITY_BUILD", wanda ke kunna yanayin batch don sarrafa fayilolin tushen a cikin janareta don haɓaka ginin;
  • An ƙara umarni "find_file()", "neman_library()", "neman_hanyar()",,
    "find_package()" da "find_program()" don nemo fayiloli, dakunan karatu, hanyoyi, fakiti da masu aiwatarwa bisa ga sauye-sauye waɗanda ke ayyana hanyoyin bincike na nau'ikan fayiloli daban-daban.
    Ma'anonin "CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH", "CMAKE_FIND_USE_CMAKE_PATH", "CMAKE_FIND_USE_CMAKE_SYSTEM_PATH", "CMAKE_FIND_USE_PACKAGE_ROOT_PATH", "CMAKE_FIND_USE_SYSTEM_PACK_" da ana amfani da shi don sarrafa tushen binciken hanyoyin GISTRY";

  • An ƙara yanayin "fayil(GET_RUNTIME_DEPENDENCIES)" zuwa umurnin "fayil()", wanda ke ba ku damar sake dawo da jerin ɗakunan karatu da aka yi amfani da su akai-akai lokacin haɗa fayil ko ɗakin karatu mai ƙarfi. Yanayin ya maye gurbin umarnin GetPrerequisites(), wanda yanzu an soke shi;
  • Umurnin "ctest(1)" yana aiwatar da ikon tsara gwaje-gwaje bisa ga albarkatun da ake buƙata don kowane gwaji;
  • Madaidaicin "CMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY" an soke shi kuma yakamata a maye gurbinsa da "CMAKE_FIND_USE_PACKAGE_REGISTRY";
  • Ingantattun tallafin dandamali na AIX. Lokacin amfani da kadarorin "ENABLE_EXPORTS", ban da fayil ɗin da za a iya aiwatarwa, an samar da fayil ɗin shigo da mai haɗin gwiwa, an adana shi tare da tsawo na ".imp". A cikin plugins da aka ƙirƙira ta hanyar kiran "add_library()" tare da zaɓin "MODULE", ana iya amfani da wannan fayil ɗin yayin haɗawa ta amfani da umarnin "target_link_libraries()". Haɗin lokacin aiki akan AIX an kashe shi ta tsohuwa saboda CMake yanzu yana ba da duk bayanan alamar da ake buƙata don haɗawa a lokacin kaya. Don amfani da haɗin lokacin aiki na ɗakunan karatu masu ƙarfi ko kayan aiki masu ɗaukar nauyi, dole ne a ƙayyadadden zaɓin "-Wl, -G" a cikin jerin tutocin farawa, waɗanda aka ayyana ta hanyar masu canji "CMAKE_SHARED_LINKER_FLAGS" da "CMAKE_MODULE_LINKER_FLAGS".

source: budenet.ru

Add a comment