Lëshimi i sistemit të ndërtimit CMake 3.16

Të paraqitura lëshimi i gjeneratorit të skenarëve të ndërtimit të platformave të hapura CMake 3.16, vepruar si një alternativë për Autotools dhe i përdorur në projekte si KDE, LLVM/Clang, MySQL, MariaDB, ReactOS dhe Blender. Kodi i CMake është shkruar në gjuhën C++ dhe shpërndahet nën licencën BSD.

CMake është i njohur për ofrimin e një gjuhe të thjeshtë skenarësh, mjeteve për zgjerimin e funksionalitetit përmes moduleve, numrit minimal të varësive (nuk ka lidhje me M4, Perl ose Python), mbështetje për keq-kërkim, mjete për ndërtim të shumë-platformave, mbështetje për gjenerimin e skedarëve të ndërtimit për një gamë të gjerë sistemesh ndërtimi dhe kompilorë, si dhe mjeteve ctest dhe cpack për definimin e skenarëve të testimit dhe ndërtimit të paketave, mjeteve cmake-gui për konfigurimin interaktiv të parametrave të ndërtimit.

Ndryshimet kryesore përmirësime:

  • Shtesa pĂ«r mbĂ«shtetje tĂ« gjuhĂ«ve Objective C («OBJC») dhe Objective C++ («OBJCXX»), tĂ« cilat mund tĂ« aktivizohen pĂ«rmes komandave project() dhe enable_language(), pas sĂ« cilĂ«s kodi nĂ« skedarĂ«t «.m» «.mm» do tĂ« kompilojĂ« si kod nĂ« Objective C dhe Objective C++, dhe jo si kod nĂ« C++, siç ishte mĂ« parĂ«;
    Shtesa për mbështetje të kompajlerit Clang në platformën Solaris;
  • Shtuar parametra tĂ« rinj tĂ« komandĂ«s nĂ« linjĂ«: «cmake -E true|false» pĂ«r tĂ« dalĂ« kodet e kthimit 0 dhe 1; «cmake —trace-redirect=» pĂ«r tĂ« ridrejtuar informacionin e gjurmimit nĂ« njĂ« skedar, pĂ«rveç
  • «stderr»; komanda «cmake —loglevel» Ă«shtĂ« riemĂ«ruar nĂ« «—log-level» pĂ«r t'u pĂ«rputhur me emĂ«rtimin e komandave tĂ« tjera;
    Shtuar komanda «target_precompile_headers()» për të enumeruar listën e skedave përkufizuese të përdorur gjatë parakompilimit (reduktimi i kohës së ndërtimit);
  • Shtuar pronĂ«n «UNITY_BUILD», e cila aktivizon modin e pĂ«rpunimit nĂ« grupe pĂ«r skedarĂ«t burimorĂ« nĂ« gjeneratorĂ«t pĂ«r tĂ« pĂ«rshpejtuar ndĂ«rtimin;
  • Shtuar komandat «find_file()», «find_library()», «find_path()»,
  • «find_package()» dhe «find_program()» pĂ«r tĂ« kĂ«rkuar skedarĂ«, biblioteka, rrugĂ«, paketa dhe skedarĂ« ekzekutivĂ« sipas variablave qĂ« pĂ«rcaktojnĂ« rrugĂ«t e kĂ«rkimit pĂ«r kategori tĂ« ndryshme skedarĂ«sh.
    Për menaxhimin e rrugëve bazë për kërkimin përdoren variablat «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_ENVIRONMENT_PATH» dhe «CMAKE_FIND_USE_PACKAGE_REGISTRY»;
    Në komandën «file()» është shtuar moda «file(GET_RUNTIME_DEPENDENCIES)», e cila lejon të nxirren listat e biblioteka të angazhuara gjatë lidhjes dinamike të një skedari ekzekutiv ose biblioteke. Ky mod ka zëvendësuar komandën GetPrerequisites(), e cila tani është shpallur e vjetruar;
  • NĂ« komandĂ«n «ctest(1)» Ă«shtĂ« implementuar mundĂ«sia pĂ«r serializimin e testeve, duke u bazuar nĂ« burimet e nevojshme pĂ«r secilin test;
  • ËshtĂ« shpallur e vjetruar variabla «CMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY», pĂ«r tĂ« cilĂ«n duhet pĂ«rdorur «CMAKE_FIND_USE_PACKAGE_REGISTRY»;
  • PĂ«rmirĂ«suar mbĂ«shtetja pĂ«r platformĂ«n AIX. Kur pĂ«rdoret prona «ENABLE_EXPORTS», pĂ«rveç skedarit ekzekutiv, tani krijohet njĂ« skedar eksportimi pĂ«r ndĂ«rlidhĂ«sin, i ruajtur me zgjerimin «.imp». NĂ« plagjinat, tĂ« krijuara duke pĂ«rdorur thirrjen «add_library()» me opsionin «MODULE», ky skedar mund tĂ« pĂ«rdoret gjatĂ« lidhjes me komandĂ«n «target_link_libraries()». Lidhja nĂ« kohĂ« reale nĂ« AIX Ă«shtĂ« e çaktivizuar si standard, pasi CMake tani ofron gjithĂ« informacionin e nevojshĂ«m pĂ«r simbolet pĂ«r lidhjen gjatĂ« ngarkimit. PĂ«r tĂ« aplikuar lidhjen nĂ« kohĂ« reale tĂ« bibliotekave dinamike ose moduleve tĂ« ngarkueshme duhet tĂ« specifikohen qartĂ« opsionet «-Wl,-G» nĂ« listat e flamujve tĂ« ndĂ«rlidhĂ«sit, tĂ« pĂ«rcaktuar pĂ«rmes variablave «CMAKE_SHARED_LINKER_FLAGS» dhe «CMAKE_MODULE_LINKER_FLAGS»;
  • ËshtĂ« pĂ«rmirĂ«suar mbĂ«shtetja pĂ«r platformĂ«n AIX. Kur pĂ«rdoret cĂ«shtja "ENABLE_EXPORTS", pĂ«rveç skedarit ekzekutues, tani formohet njĂ« skedar importi pĂ«r lidhĂ«sin, qĂ« ruhet me extensionin ".imp". NĂ« pluginĂ«t e krijuar pĂ«rmes thirrjes "add_library()" me opsionin "MODULE", ky skedar mund tĂ« pĂ«rdoret nĂ« lidhje me komandĂ«n "target_link_libraries()". Lidhja nĂ« kohĂ«n e ekzekutimit nĂ« AIX, sipas parazgjedhjes, Ă«shtĂ« e çaktivizuar, pasi CMake tani ofron tĂ« gjithĂ« informacionin e nevojshĂ«m mbi simbolet pĂ«r lidhjen gjatĂ« ngarkimit. PĂ«r tĂ« aplikuar lidhjen nĂ« kohĂ«n e ekzekutimit pĂ«r bibliotekat dinamike ose modul tĂ« ngarkueshĂ«m, duhet tĂ« specifikoni qartĂ« opsionet "-Wl,-G" nĂ« listat e flamujve tĂ« fillimit tĂ« lidhĂ«sit, tĂ« pĂ«rcaktuara pĂ«rmes variablave "CMAKE_SHARED_LINKER_FLAGS" dhe "CMAKE_MODULE_LINKER_FLAGS".

Burimi: opennet.ru

Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster