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

Presented lëshimi i gjeneruesit të skenareve ndërtim kryq-platformë dhe të hapur CMake 3.16, i cili shërben si një alternativë ndaj Autotools dhe përdoret në projekte të tilla 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 skenari të thjeshtë, mjeteve për zgjerimin e funksionalitetit përmes moduleve, një numri minimal të varësive (nuk ka varësi nga M4, Perl ose Python), mbështetje për pamjen e cache-it, disponimin e mjeteve për ndërkompilim, mbështetje për gjenerimin e skedave të ndërtimit për një gamë të gjerë sistemesh ndërtimi dhe kompilatorësh, mjeteve ctest dhe cpack për përcaktimin e skenarëve të testeve dhe ndërtimit të pakove, si dhe mjeteve cmake-gui për konfigurimin interaktiv të parametrave të ndërtimit.

Main përmirësime:

  • Shtuar mbĂ«shtetje pĂ«r gjuhĂ«t Objective C (‘OBJC’) dhe Objective
    C++ (‘OBJCXX’), tĂ« cilat mund tĂ« aktivizohen pĂ«rmes komandave project() dhe enable_language(), pas tĂ« cilave kodi nĂ« skedarĂ«t ‘.m’ ‘.mm’ do tĂ« kompilohet si kod nĂ« Objective C dhe Objective C++, dhe jo si kod nĂ« C++, siç ishte deri mĂ« tani;
  • Shtuar mbĂ«shtetje pĂ«r kompilatorin Clang nĂ« platformĂ«n Solaris;
  • Shtuar parametra tĂ« rinj tĂ« komandĂ«s nĂ« linjĂ«: ‘cmake -E true|false’ pĂ«r tĂ« prodhuar kodet e kthimit 0 dhe 1; ‘cmake —trace-redirect=’ pĂ«r tĂ« ridrejtuar informacionin e ndjekjes nĂ« njĂ« skedar, pĂ«rveç
    ‘stderr’; komanda ‘cmake —loglevel’ Ă«shtĂ« rinovuar nĂ« ‘—log-level’ pĂ«r t'u pĂ«rputhur me emĂ«rtimin e komandave tĂ« tjera;
  • Shtuar komandĂ«n ‘target_precompile_headers()’ pĂ«r tĂ« enumeruar listĂ«n e skedarĂ«ve tĂ« titujve tĂ« pĂ«rdorur gjatĂ« para-kompilimit (reduktimi i kohĂ«s sĂ« ndĂ«rtimit);
  • Shtuar pronĂ«n ‘UNITY_BUILD’, e cila aktivizon modalitetin e paketimit pĂ«r pĂ«rpunimin e skedarĂ«ve burimor nĂ« gjeneruesit 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Ă« nĂ« pĂ«rputhje me variablat qĂ« pĂ«rkufizojnĂ« rrugĂ«t e kĂ«rkimit pĂ«r kategori tĂ« ndryshme skedarĂ«sh.
    PĂ«r tĂ« menaxhuar rrugĂ«t 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’;
  • Ekipit «file()» ka pĂ«rfshirĂ« modin «file(GET_RUNTIME_DEPENDENCIES)», i cili lejon nxjerrjen rekurzive tĂ« listĂ«s sĂ« bibliotekave qĂ« pĂ«rfshihen nĂ« lidhjen dinamike tĂ« skedarit ekzekutues ose bibliotekĂ«s. Ky mod erdhi si zĂ«vendĂ«sim pĂ«r komandĂ«n GetPrerequisites(), e cila tani Ă«shtĂ« shpallur tĂ« jetĂ« e vjetruar;
  • Komanda «ctest(1)» ka implementuar mundĂ«sinĂ« e serializimit tĂ« testeve, duke u bazuar nĂ« burimet e kĂ«rkuara pĂ«r secilin test;
  • Variabla «CMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY» Ă«shtĂ« shpallur tĂ« jetĂ« e vjetruar, dhe tani duhet tĂ« pĂ«rdoret «CMAKE_FIND_USE_PACKAGE_REGISTRY»;
  • PĂ«rmirĂ«suar mbĂ«shtetjen pĂ«r platformĂ«n AIX. Kur propriĂ©tĂ©s «ENABLE_EXPORTS» pĂ«rdoret, pĂ«rveç skedarit ekzekutues, tani krijohet njĂ« skedari importi pĂ«r lidhĂ«sin, i ruajtur me zgjerimin «.imp». NĂ« plugins qĂ« krijohen me thirrjen «add_library()» me opsionin «MODULE», ky skedari mund tĂ« pĂ«rdoret gjatĂ« lidhjes me komandĂ«n «target_link_libraries()». Lidhja runtime nĂ« AIX Ă«shtĂ« automatikisht e çaktivizuar, pasi CMake tani ofron tĂ« gjitha informacionet e nevojshme pĂ«r simbolet pĂ«r lidhje gjatĂ« ngarkimit. PĂ«r tĂ« aplikuar lidhjen runtime tĂ« bibliotekave dinamike ose moduleve tĂ« ngarkuara, duhet tĂ« specifikoni qartĂ« opsionet «-Wl,-G» nĂ« listat e flamujve tĂ« lidhĂ«sit, tĂ« pĂ«rcaktuar pĂ«rmes variablave «CMAKE_SHARED_LINKER_FLAGS» dhe «CMAKE_MODULE_LINKER_FLAGS».

Burimi: opennet.ru

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