{"id":53249,"date":"2019-11-27T00:00:00","date_gmt":"2019-11-26T21:00:00","guid":{"rendered":"https:\/\/prohoster.info\/blog\/blog_prohoster\/reliz-sistemy-sborki-cmake-3-16"},"modified":"2020-02-18T14:01:08","modified_gmt":"2020-02-18T11:01:08","slug":"reliz-sistemy-sborki-cmake-3-16","status":"publish","type":"post","link":"https:\/\/prohoster.info\/ro\/blog\/news\/reliz-sistemy-sborki-cmake-3-16","title":{"rendered":"Lansarea sistemului de build CMake 3.16.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><noindex><a rel=\"nofollow\" href=\"https:\/\/blog.kitware.com\/cmake-3-16-0-available-for-download\/\">Prezentat<\/a><\/noindex> lansarea unui generator de scenarii de construc\u021bie open-source, multiplatform\u0103 <noindex><a rel=\"nofollow\" href=\"http:\/\/www.cmake.org\/\">CMake 3.16<\/a><\/noindex>, care serve\u0219te ca alternativ\u0103 la Autotools \u0219i este utilizat \u00een proiecte precum KDE, LLVM\/Clang, MySQL, MariaDB, ReactOS \u0219i Blender. Codul CMake este scris \u00een C++ \u0219i este distribuit sub licen\u021ba BSD.<\/p>\n<p>CMake se remarc\u0103 prin furnizarea unui limbaj simplu de scripturi, prin extensibilitate prin module, un num\u0103r minim de dependen\u021be (f\u0103r\u0103 leg\u0103turi la M4, Perl sau Python), suport pentru caching, instrumente pentru cross-compiling, generarea fi\u0219ierelor de construc\u021bie pentru o gam\u0103 larg\u0103 de sisteme de construc\u021bie \u0219i compilatoare, utilit\u0103\u021bi ctest \u0219i cpack pentru definirea scenariilor de testare \u0219i construc\u021bie a pachetelor, precum \u0219i utilitarul cmake-gui pentru configurarea interactiv\u0103 a parametrilor de construc\u021bie. <\/p>\n<p>Principalele <noindex><a rel=\"nofollow\" href=\"https:\/\/cmake.org\/cmake\/help\/v3.16\/release\/3.16.html\">\u00eembun\u0103t\u0103\u021biri<\/a><\/noindex>:<\/p>\n<ul>\n<li class=\"l\"> S-a ad\u0103ugat suport pentru limbajele Objective C (&#171;OBJC&#187;) \u0219i Objective<br \/>\n    C++ (&#171;OBJCXX&#187;), care pot fi activate prin comenzile project() \u0219i enable_language(), dup\u0103 care codul din fi\u0219ierele &#171;.m&#187; \u0219i &#171;.mm&#187; va fi compilat ca \u0219i cod \u00een Objective C \u0219i Objective C++, nu ca \u0219i cod \u00een C++, cum era \u00eenainte;<\/p>\n<li class=\"l\"> S-a ad\u0103ugat suport pentru compilatorul Clang pe platforma Solaris;\n<li class=\"l\"> Au fost ad\u0103ugate noi parametrii \u00een linia de comand\u0103: &#171;cmake -E true|false&#187; pentru a genera coduri de returnare 0 \u0219i 1; &#171;cmake &#8212;trace-redirect=&#187; pentru a redirec\u021biona informa\u021biile de trasare \u00eentr-un fi\u0219ier, \u00een loc de<br \/>\n  &#171;stderr&#187;; comanda &#171;cmake &#8212;loglevel&#187; a fost redenumit\u0103 \u00een  &#171;&#8212;log-level&#187; pentru a se conforma denumirilor celorlalte comenzi;<\/p>\n<li class=\"l\"> S-a ad\u0103ugat comanda &#171;target_precompile_headers()&#187; pentru enumerarea fi\u0219ierelor header utilizate \u00een precompilare (reduce timpul de compilare);\n<li class=\"l\"> S-a ad\u0103ugat proprietatea &#171;UNITY_BUILD&#187;, care activeaz\u0103 modul de procesare \u00een grup al fi\u0219ierelor surs\u0103 \u00een generatoare pentru a accelera compilarea;\n<li class=\"l\"> Au fost ad\u0103ugate comenzile &#171;find_file()&#187;, &#171;find_library()&#187;, &#171;find_path()&#187;,<br \/>\n    &#171;find_package()&#187; \u0219i &#171;find_program()&#187; pentru a c\u0103uta fi\u0219iere, biblioteci, c\u0103i, pachete \u0219i executabile conform variabilelor care definesc c\u0103ile de c\u0103utare pentru diferite categorii de fi\u0219iere.<br \/>\nPentru a gestiona c\u0103ile de baz\u0103 de c\u0103utare se folosesc variabilele &#171;CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH&#187;, &#171;CMAKE_FIND_USE_CMAKE_PATH&#187;, &#171;CMAKE_FIND_USE_CMAKE_SYSTEM_PATH&#187;, &#171;CMAKE_FIND_USE_PACKAGE_ROOT_PATH&#187;, &#171;CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH&#187; \u0219i &#171;CMAKE_FIND_USE_PACKAGE_REGISTRY&#187;;<\/p>\n<li class=\"l\"> \u00cen comanda  &#171;file()&#187; a fost ad\u0103ugat\u0103 modul &#171;file(GET_RUNTIME_DEPENDENCIES)&#187;, care permite extragerea recursiv\u0103 a listei de biblioteci implicate \u00een legarea dinamic\u0103 a unui fi\u0219ier executabil sau a unei biblioteci. Modul a \u00eenlocuit comanda GetPrerequisites(), care este acum marcat\u0103 ca \u00eenvechit\u0103;\n<li class=\"l\"> \u00cen comanda &#171;ctest(1)&#187; s-a implementat posibilitatea de serializare a testelor, \u00een func\u021bie de resursele necesare fiec\u0103rui test;\n<li class=\"l\"> Variabila &#171;CMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY&#187; este acum marcat\u0103 ca \u00eenvechit\u0103, \u00een locul ei ar trebui folosit  &#171;CMAKE_FIND_USE_PACKAGE_REGISTRY&#187;;\n<li class=\"l\"> Suportul pentru platforma AIX a fost \u00eembun\u0103t\u0103\u021bit. C\u00e2nd se folose\u0219te proprietatea &#171;ENABLE_EXPORTS&#187;, pe l\u00e2ng\u0103 fi\u0219ierul executabil, acum se formeaz\u0103 un fi\u0219ier de import pentru linker, salvat cu extensia &#171;.imp&#187;. \u00cen pluginurile create prin apelul &#171;add_library()&#187; cu op\u021biunea &#171;MODULE&#187;, acest fi\u0219ier poate fi folosit la linkarea cu comanda &#171;target_link_libraries()&#187;. Linkarea la runtime pe AIX este dezactivat\u0103 implicit, deoarece CMake ofer\u0103 acum toat\u0103 informa\u021bia necesar\u0103 despre simboluri pentru legare \u00een timpul \u00eenc\u0103rc\u0103rii. Pentru a utiliza linkarea la runtime a bibliotecilor dinamice sau modulelor \u00eenc\u0103rcabile, este necesar s\u0103 specifica\u021bi explicit op\u021biunile &#171;-Wl,-G&#187; \u00een listele de flag-uri de lansare ale linker-ului, definite prin variabilele &#171;CMAKE_SHARED_LINKER_FLAGS&#187; \u0219i &#171;CMAKE_MODULE_LINKER_FLAGS&#187;.\n<\/ul>\n<p><noindex><a rel=\"nofollow\" name=\"link\"><\/a><\/noindex><\/p>\n<p>Sursa: <a \ncontent=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=51938\">opennet.ro<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u0440\u0435\u043b\u0438\u0437 \u043a\u0440\u043e\u0441\u0441\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435\u043d\u043d\u043e\u0433\u043e \u043e\u0442\u043a\u0440\u044b\u0442\u043e\u0433\u043e \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440\u0430 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0435\u0432 \u0441\u0431\u043e\u0440\u043a\u0438 CMake 3.16, \u0432\u044b\u0441\u0442\u0443\u043f\u0430\u044e\u0449\u0435\u0433\u043e \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u044b Autotools \u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u043e\u0433\u043e \u0432 \u0442\u0430\u043a\u0438\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u0430\u0445, \u043a\u0430\u043a KDE, LLVM\/Clang, MySQL, MariaDB, ReactOS \u0438 Blender. \u041a\u043e\u0434 CMake \u043d\u0430\u043f\u0438\u0441\u0430\u043d \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 C++ \u0438 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u044f\u0435\u0442\u0441\u044f \u043f\u043e\u0434 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0435\u0439 BSD. CMake \u043f\u0440\u0438\u043c\u0435\u0447\u0430\u0442\u0435\u043b\u0435\u043d \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435\u043c \u043f\u0440\u043e\u0441\u0442\u043e\u0433\u043e \u044f\u0437\u044b\u043a\u0430 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0435\u0432, \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430\u043c\u0438 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0447\u0435\u0440\u0435\u0437 \u043c\u043e\u0434\u0443\u043b\u0438, \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u043c \u0447\u0438\u0441\u043b\u043e\u043c \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439 (\u043d\u0435\u0442 \u043f\u0440\u0438\u0432\u044f\u0437\u043a\u0438 \u043a [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-53249","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u0440\u0435\u043b\u0438\u0437 \u043a\u0440\u043e\u0441\u0441\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435\u043d\u043d\u043e\u0433\u043e \u043e\u0442\u043a\u0440\u044b\u0442\u043e\u0433\u043e \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440\u0430 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0435\u0432 \u0441\u0431\u043e\u0440\u043a\u0438\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/ro\/blog\/news\/reliz-sistemy-sborki-cmake-3-16\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"ro_RO\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0420\u0435\u043b\u0438\u0437 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0441\u0431\u043e\u0440\u043a\u0438 CMake 3.16 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u0440\u0435\u043b\u0438\u0437 \u043a\u0440\u043e\u0441\u0441\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435\u043d\u043d\u043e\u0433\u043e \u043e\u0442\u043a\u0440\u044b\u0442\u043e\u0433\u043e \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440\u0430 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0435\u0432 \u0441\u0431\u043e\u0440\u043a\u0438\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/ro\/blog\/news\/reliz-sistemy-sborki-cmake-3-16\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-11-26T21:00:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-02-18T11:01:08+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Lansare sistem de construire CMake 3.16 | ProHoster","description":"A fost lansat un generator de scripturi de construire multiplatform\u0103 \u0219i open-source","canonical_url":"https:\/\/prohoster.info\/ro\/blog\/news\/reliz-sistemy-sborki-cmake-3-16","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"ro_RO","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0420\u0435\u043b\u0438\u0437 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0441\u0431\u043e\u0440\u043a\u0438 CMake 3.16 | ProHoster","og:description":"\u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u0440\u0435\u043b\u0438\u0437 \u043a\u0440\u043e\u0441\u0441\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435\u043d\u043d\u043e\u0433\u043e \u043e\u0442\u043a\u0440\u044b\u0442\u043e\u0433\u043e \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440\u0430 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0435\u0432 \u0441\u0431\u043e\u0440\u043a\u0438","og:url":"https:\/\/prohoster.info\/ro\/blog\/news\/reliz-sistemy-sborki-cmake-3-16","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-11-26T21:00:00+00:00","article:modified_time":"2020-02-18T11:01:08+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"53249","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-24 06:39:20","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 20:28:50","updated":"2026-01-24 06:39:20","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/53249","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/comments?post=53249"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/53249\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media?parent=53249"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/categories?post=53249"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/tags?post=53249"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}