Kutolewa kwa mfumo wa ujenzi wa CMake 3.16

Iliyowasilishwa na kutolewa kwa jenereta ya hati ya ujenzi ya jukwaa-mbali CMake 3.16, 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:

  • Usaidizi ulioongezwa kwa Lengo C (β€œOBJC”) na Lugha za Malengo
    C++ ("OBJCXX"), ambayo inaweza kuwashwa kupitia mradi() na kuwawezesha_language() amri, kisha msimbo katika faili za ".m" ".mm" utaundwa kama msimbo wa Lengo C na Lengo C++, badala ya kama C++, kama ilivyokuwa hapo awali;

  • Msaada ulioongezwa kwa mkusanyaji wa Clang kwenye jukwaa la Solaris;
  • Imeongeza chaguo mpya za mstari wa amri: β€œcmake -E true|false” ili kuchapisha misimbo ya kurejesha 0 na 1; "cmake --trace-redirect=" ili kuelekeza upya taarifa za kufuatilia kwa faili badala yake
    "stderr"; amri ya "cmake --loglevel" imebadilishwa jina na kuwa "--log-level" ili kuifanya ilingane na majina ya amri zingine;

  • Imeongeza amri ya "target_precompile_headers()" ili kuorodhesha orodha ya faili za kichwa zilizotumiwa wakati wa utayarishaji (hupunguza muda wa kujenga);
  • Imeongeza kipengele cha "UNITY_BUILD", ambacho huwasha modi ya kundi kwa ajili ya kuchakata faili za chanzo katika jenereta ili kuharakisha ujenzi;
  • Amri zilizoongezwa β€œfind_file()”, β€œfind_library()”, β€œfind_path()”,
    "find_package()" na "find_program()" ili kutafuta faili, maktaba, njia, vifurushi na vitekelezo kulingana na vigezo vinavyofafanua njia za utafutaji kwa kategoria mbalimbali za faili.
    Vigeu vya "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_CMGIST_ENVISEN_VIMETUMIWA" na "CMAKE_FIND_USE_SYSTEM_CMGIST_ENVIS_ENVI". dhibiti njia za msingi za utaftaji RY";

  • Aliongeza modi ya "faili(GET_RUNTIME_DEPENDENCIES)" kwenye amri ya "faili()", ambayo hukuruhusu kurejesha orodha ya maktaba zinazotumiwa wakati wa kuunganisha faili inayoweza kutekelezwa au maktaba. Njia hiyo ilibadilisha GetPrerequisites() amri, ambayo sasa imeacha kutumika;
  • Amri ya β€œctest(1)” hutekeleza uwezo wa kusawazisha majaribio kulingana na nyenzo zinazohitajika kwa kila jaribio;
  • Tofauti "CMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY" imeacha kutumika na inapaswa kubadilishwa na "CMAKE_FIND_USE_PACKAGE_REGISTRY";
  • Usaidizi wa jukwaa la AIX ulioboreshwa. Unapotumia kipengele cha "ENABLE_EXPORTS", pamoja na faili inayoweza kutekelezwa, faili ya kuleta kwa kiunganishi sasa imetolewa, iliyohifadhiwa na kiendelezi cha ".imp". Katika programu-jalizi zilizoundwa kwa kuita "add_library()" kwa chaguo la "MODULE", faili hii inaweza kutumika wakati wa kuunganisha kwa kutumia amri ya "target_link_libraries()". Kiunganishi cha muda wa kukimbia kwenye AIX kimezimwa kwa chaguo-msingi kwa sababu CMake sasa hutoa maelezo yote muhimu ya ishara ya kuunganisha wakati wa kupakia. Ili kutumia uunganisho wa wakati wa utekelezaji wa maktaba zinazobadilika au sehemu zinazoweza kupakiwa, lazima ubainishe kwa uwazi chaguo "-Wl, -G" katika orodha za bendera za kuanza kwa kiunganishi, zinazofafanuliwa kupitia vigeu "CMAKE_SHARED_LINKER_FLAGS" na "CMAKE_MODULE_LINKER_FLAGS".

Chanzo: opennet.ru

Kuongeza maoni