{"id":100785,"date":"2021-07-19T04:22:44","date_gmt":"2021-07-19T02:22:44","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/reliz-sistem-sborki-cmake-3-21-i-meson-0-59"},"modified":"2021-07-19T04:22:44","modified_gmt":"2021-07-19T02:22:44","slug":"reliz-sistem-sborki-cmake-3-21-i-meson-0-59","status":"publish","type":"post","link":"https:\/\/prohoster.info\/da\/blog\/news\/reliz-sistem-sborki-cmake-3-21-i-meson-0-59","title":{"rendered":"Udgivelsen af build-systemerne CMake 3.21 og Meson 0.59","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>CMake 3.21, en platformuafh\u00e6ngig open source build script generator, der fungerer som et alternativ til Autotools, er blevet pr\u00e6senteret. Den anvendes i projekter som KDE, LLVM\/Clang, MySQL, MariaDB, ReactOS og Blender. CMake-koden er skrevet i C++ og distribueres under BSD-licensen.    <\/p>\n<p>CMake er bem\u00e6rkelsesv\u00e6rdigt for at tilbyde et simpelt script-sprog, udvidelsesmuligheder gennem moduler, et minimum af afh\u00e6ngigheder (ingen binding til M4, Perl eller Python), support for caching, tilg\u00e6ngelighed af v\u00e6rkt\u00f8jer til tv\u00e6rkompilering, samt generering af build-filer for en bred vifte af build-systemer og compiler, plus v\u00e6rkt\u00f8jerne ctest og cpack til test-script og pakkeopbygning, samt cmake-gui til interaktiv konfiguration af byggeparametre.     <\/p>\n<p>Hovedforbedringer:  <\/p>\n<ul>\n<li class=\"l\"> Der er tilf\u00f8jet fuld st\u00f8tte til programmeringssproget HIP (Heterogeneous-Computing Interface for Portability), en dialekt af C++ designet til at forenkle konverteringen af CUDA-applikationer til b\u00e6rbar C++-kode.\n<li class=\"l\"> Der er tilf\u00f8jet en build script generator til Visual Studio 17 2022, som er baseret p\u00e5 den tidlige version af Visual Studio 2022 Preview 1.1.\n<li class=\"l\"> I Makefile- og Ninja build script generatorer er der tilf\u00f8jet egenskaberne C_LINKER_LAUNCHER og CXX_LINKER_LAUNCHER, der g\u00f8r det muligt at k\u00f8re hj\u00e6lpeprogrammer, der anvender linker, som f.eks. statiske analysev\u00e6rkt\u00f8jer. Generatoren vil starte de angivne v\u00e6rkt\u00f8jer og videregive linkernavnet og dets argumenter.\n<li class=\"l\"> I egenskaberne &#171;C_STANDARD&#187; og &#171;OBJC_STANDARD&#187;, samt i indstillingerne for kompilatorparametre (Compile Features), er der tilf\u00f8jet support til specifikationerne C17 og C23.\n<li class=\"l\"> I cmake-v\u00e6rkt\u00f8jet er der tilf\u00f8jet en mulighed &#171;&#8212;toolchain &lt;path\/to\/file&gt;&gt; for at angive stien til v\u00e6rkt\u00f8jet.\n<li class=\"l\"> Der er tilf\u00f8jet farvekodning af de typer beskeder, der udskrives til terminalen.\n<li class=\"l\"> Der er tilf\u00f8jet support for Fujitsu-kompilatoren.\n<li class=\"l\"> I kommandoen &#171;foreach()&#187; er der sikret isolering af l\u00f8kkevariabler inden for l\u00f8kken.    <\/ul>\n<p>Det skal ogs\u00e5 n\u00e6vnes, at build-systemet Meson 0.59 er blevet udgivet, som anvendes til at bygge projekter som X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME og GTK. Koden til Meson er skrevet i Python og leveres under Apache 2.0-licensen. Der underst\u00f8ttes kryds-kompilation og bygning p\u00e5 Linux, Illumos\/Solaris, FreeBSD, NetBSD, DragonFly BSD, Haiku, macOS og Windows med brug af GCC, Clang, Visual Studio og andre kompilatorer. Projekter kan bygges p\u00e5 forskellige programmeringssprog, herunder C, C++, Fortran, Java og Rust. Ved bygning anvendes standardv\u00e6rkt\u00f8jet Ninja i stedet for make, men andre backend-v\u00e6rkt\u00f8jer kan ogs\u00e5 anvendes s\u00e5som xcode og VisualStudio.    <\/p>\n<p> Systemet har en tv\u00e6rplatform afh\u00e6ngighedsh\u00e5ndterer, der g\u00f8r det muligt at bruge Meson til at bygge pakker til distributioner. Bygningsreglerne angives p\u00e5 et forenklet dom\u00e6neorienteret sprog, hvilket sikrer god l\u00e6sbarhed og forst\u00e5else for brugeren (forfatterne har til hensigt, at udvikleren skal bruge minimal tid p\u00e5 at skrive regler). Inkrementel bygning underst\u00f8ttes, hvilket betyder, at kun de komponenter, der direkte er relateret til \u00e6ndringer foretaget siden sidste bygning, genbygges. Meson kan bruges til at generere gentagelige bygninger, hvor bygningen i forskellige milj\u00f8er resulterer i fuldst\u00e6ndig identiske eksekverbare filer.        <\/p>\n<p>De vigtigste nyheder i Meson 0.59:   <\/p>\n<ul>\n<li class=\"l\"> Support for Cython-sproget (en udvidet version af Python, der sigter mod at forenkle integrationen med C-kode) er blevet tilf\u00f8jet.\n<li class=\"l\"> Der er tilf\u00f8jet n\u00f8gleordene &#171;unescaped_variables&#187; og &#171;unescaped_uninstalled_variables&#187; til at definere variabler i pkgconfig uden at undslippe mellemrum med tegnet &#171;&#092;&#187;.\n<li class=\"l\"> Underst\u00f8ttelse af wrc (Wine Resource Compiler) er tilf\u00f8jet.\n<li class=\"l\"> Muligheden for at generere projekter til Visual Studio 2012 og Visual Studio 2013 er blevet implementeret.\n<li class=\"l\"> Alle kommandoer relateret til behandling af delprojekter k\u00f8rer nu som standard hvert delprojekt parallelt. Antallet af parallelle arbejdsprocesser bestemmes af parameteren &#171;&#8212;num-processes&#187;.      <\/ul>\n<p>Kilde: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=55503\">opennet.ru<\/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.21, \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-100785","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - 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 CMake 3.21, \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.\" \/>\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\/da\/blog\/news\/reliz-sistem-sborki-cmake-3-21-i-meson-0-59\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"da_DK\" \/>\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 \u0441\u0431\u043e\u0440\u043a\u0438 CMake 3.21 \u0438 Meson 0.59 | 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 CMake 3.21, \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.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/da\/blog\/news\/reliz-sistem-sborki-cmake-3-21-i-meson-0-59\" \/>\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=\"2021-07-19T02:22:44+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2021-07-19T02:22:44+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\udd47Udgivelse af bygge-systemerne CMake 3.21 og Meson 0.59 | ProHoster","description":"Udgivelsen af den tv\u00e6rplatform \u00e5bne build script generator CMake 3.21, der fungerer som et alternativ til Autotools og bruges i projekter som KDE, LLVM\/Clang, MySQL, MariaDB, ReactOS, mv.","canonical_url":"https:\/\/prohoster.info\/da\/blog\/news\/reliz-sistem-sborki-cmake-3-21-i-meson-0-59","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"da_DK","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 \u0441\u0431\u043e\u0440\u043a\u0438 CMake 3.21 \u0438 Meson 0.59 | 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 CMake 3.21, \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.","og:url":"https:\/\/prohoster.info\/da\/blog\/news\/reliz-sistem-sborki-cmake-3-21-i-meson-0-59","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":"2021-07-19T02:22:44+00:00","article:modified_time":"2021-07-19T02:22:44+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"100785","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":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-07-19 02:26:18","updated":"2022-09-30 14:39:49","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts\/100785","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/comments?post=100785"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts\/100785\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/media?parent=100785"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/categories?post=100785"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/tags?post=100785"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}