{"id":24620,"date":"2019-07-19T22:29:49","date_gmt":"2019-07-19T22:29:49","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/cppblog\/?p=24620"},"modified":"2019-08-15T23:01:27","modified_gmt":"2019-08-15T23:01:27","slug":"vcpkg-2019-06-update","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/cppblog\/vcpkg-2019-06-update\/","title":{"rendered":"Vcpkg: 2019.06 Update"},"content":{"rendered":"<p>The 2019.06 update of vcpkg, a tool that helps you manage C and C++ libraries on Windows, Linux, and MacOS, is now available. This is the first time we\u2019ve created a <a href=\"https:\/\/github.com\/microsoft\/vcpkg\/releases\/tag\/2019.06\">vcpkg release on our GitHub repository<\/a>. This update is designed to bring you a summary of the new functionality and improvements made to vcpkg over about a month\u2019s time. The 2019.06 update covers the month of June.<\/p>\n<p>This release includes many new ports and triplet updates including overlay options, improvements for port contributors, and new documentation. For a full list of this release\u2019s improvements, check out our <a href=\"https:\/\/github.com\/microsoft\/vcpkg\/releases\/tag\/2019.06\">release notes on GitHub<\/a>.<\/p>\n<h2>Ports<\/h2>\n<p>There has been a substantial growth in vcpkg contributions over the past few months, with over 1,000 packages now available in the catalog. You can view the libraries available by either searching for a library name in the <a href=\"https:\/\/github.com\/microsoft\/vcpkg\/tree\/master\/ports\">GitHub repo ports folder<\/a> or using the <a href=\"https:\/\/docs.microsoft.com\/en-us\/cpp\/build\/vcpkg?view=vs-2019#search-the-list-of-available-libraries\">vcpkg search command<\/a>.<\/p>\n<p>We added 44 new ports in the month of June. Some notable additions include: <a href=\"https:\/\/github.com\/ivmai\/bdwgc\">bdwgc<\/a>, <a href=\"https:\/\/github.com\/DaveGamble\/cJSON\">cJSON<\/a>, <a href=\"https:\/\/github.com\/silentbicycle\/greatest\">greatest<\/a>, <a href=\"https:\/\/github.com\/immerjs\/immer\">immer<\/a>, <a href=\"https:\/\/github.com\/json-c\/json-c\">json-c<\/a>, and <a href=\"https:\/\/github.com\/zyantific\/zydis\">zydis<\/a>. These ports have 1K+ stars on their respective GitHub repos. You can view a full list of new ports in the [new ports section of our release notes]().<\/p>\n<p>In addition to new ports, we updated 291 existing ports. A notable update to the release includes <a href=\"https:\/\/github.com\/Microsoft\/vcpkg\/pull\/2933\">port &#8216;Homepages&#8217;<\/a>.<\/p>\n<h3>Port Homepages<\/h3>\n<p>As part of our infrastructure work, you can now view the \u2018Homepage\u2019 for a port. This allows you to easily view a port\u2019s official homepage via a link to the website. Let\u2019s take the Abseil port for example. If you navigate to &lt;vcpkg root&gt;\/ports\/abseil\/CONTROL, you will find the line &#8220;Homepage: <a href=\"https:\/\/nam06.safelinks.protection.outlook.com\/?url=https%3A%2F%2Fgithub.com%2Fabseil%2Fabseil-cpp&amp;data=02%7C01%7Ctaraj%40microsoft.com%7C417bc864418e4e3ef80e08d706635cbd%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636984896130090257&amp;sdata=eINijb2Flfuv3KA5h%2FM1W%2B6%2B2UcVwOJm8VgeDrUJKGU%3D&amp;reserved=0\">https:\/\/github.com\/abseil\/abseil-cpp<\/a>&#8221; which links to the official Abseil page.<\/p>\n<h2>Overlay Ports<\/h2>\n<p>The vcpkg command line interface allows you to easily search, install, and maintain your libraries. We added an &#8211;<code>-overlay-ports<\/code> option to allow you to override ports with alternate versions and create private ports.<\/p>\n<p>Let\u2019s look at an example where you are using OpenCV for your computer vision project. You would like to use vcpkg to acquire OpenCV and other packages. Your team is specifically using version 3.0 of OpenCV, but vcpkg offers version 3.4.3. Even though that version of OpenCV is not available in vcpkg, you can create a private port.<\/p>\n<p>Let\u2019s say you go ahead and create a private GitHub repo and check in the ports you want to preserve including OpenCV 3.0 and its specific dependent libraries that also may not be available in current vcpkg. You can then provide your team with the link to clone your private repo.<\/p>\n<p>Locally, you create a custom ports directory and commit your changes:<\/p>\n<pre class=\"lang:sh decode:true\">~\/vcpkg$ mkdir vcpkg-custom-ports\r\n~\/vcpkg$ cd vcpkg-custom-ports\r\n~\/vcpkg\/vcpkg-custom-ports$ git init\r\n~\/vcpkg\/vcpkg-custom-ports$ cp -r %VCPKG_ROOT%\/ports\/opencv .\r\n~\/vcpkg\/vcpkg-custom-ports$ git add .\r\n~\/vcpkg\/vcpkg-custom-ports$ git commit -m \"[opencv] Add OpenCV 3.0 port\"\r\n~\/vcpkg\/vcpkg-custom-ports$ git remote add origin https:\/\/github.com\/&lt;My GitHub username&gt;\/vcpkg-custom-ports.git\r\n~\/vcpkg\/vcpkg-custom-ports$ git push -u origin master<\/pre>\n<p>Now, you and your team can use version 3.0 of OpenCV for your projects with vcpkg using the following:<\/p>\n<pre class=\"lang:sh decode:true\">~\/vcpkg\/vcpkg-custom-ports$ git clone https:\/\/github.com\/&lt;My GitHub username&gt;\/vcpkg-custom-ports.git\r\n~\/vcpkg\/vcpkg-custom-ports$ .\/vcpkg update --overlay-ports=.\/vcpkg-custom-ports\r\n~\/vcpkg\/vcpkg-custom-ports$ .\/vcpkg upgrade --no-dry-run --overlay-ports=.\/vcpkg-custom-ports<\/pre>\n<p>Note that you may need to update vcpkg to use the most up-to-date command line options. You can update vcpkg on Windows via <code>.\\bootstrap-vcpkg.bat<\/code> or on macOS \/Linux via <code>.\/bootstrap-vcpkg.sh<\/code>.<\/p>\n<p>This allows you to upgrade your packages and preserve the older version of OpenCV that your project requires.<\/p>\n<p>As shown in the example above, you can use\u00a0<code>--overlay-ports<\/code>\u00a0with the\u00a0<code>vcpkg install<\/code>,\u00a0<code>vcpkg update<\/code>,\u00a0<code>vcpkg upgrade<\/code>,\u00a0<code>vcpkg export<\/code>, and\u00a0<code>vcpkg depend-info<\/code>\u00a0commands. Learn more in our <a href=\"https:\/\/github.com\/microsoft\/vcpkg\/blob\/master\/docs\/specifications\/ports-overlay.md#3-proposed-solution\">overlay-ports documentation<\/a>.<\/p>\n<p>Note that while overlay ports can help with overriding port versions and creating private ports, this is part of our ongoing work to improve the usability of vcpkg when it comes to versioning. Stay tuned for a future post on best practices for versioning with vcpkg!<\/p>\n<h2>Triplets<\/h2>\n<p>Vcpkg provides many triplets (target environments) by default. This past month, we focused on increasing the number of ports available on Linux and creating port improvements for Linux and the Windows Subsystem for Linux (WSL). We now have 823 ports available for Linux and we updated over 150 ports for Linux and WSL.<\/p>\n<p>Here is a current list of ports per triplet:<\/p>\n<table>\n<tbody>\n<tr>\n<td width=\"312\">Triplet<\/td>\n<td width=\"312\">Ports Available<\/td>\n<\/tr>\n<tr>\n<td width=\"312\">x64-osx<\/td>\n<td width=\"312\">755<\/td>\n<\/tr>\n<tr>\n<td width=\"312\">x64-linux<\/td>\n<td width=\"312\">823<\/td>\n<\/tr>\n<tr>\n<td width=\"312\">x64-windows<\/td>\n<td width=\"312\">1006<\/td>\n<\/tr>\n<tr>\n<td width=\"312\">x86-windows<\/td>\n<td width=\"312\">977<\/td>\n<\/tr>\n<tr>\n<td width=\"312\">x64-windows-static<\/td>\n<td width=\"312\">895<\/td>\n<\/tr>\n<tr>\n<td width=\"312\">arm64-windows<\/td>\n<td width=\"312\">654<\/td>\n<\/tr>\n<tr>\n<td width=\"312\">x64-uwp<\/td>\n<td width=\"312\">532<\/td>\n<\/tr>\n<tr>\n<td width=\"312\">arm-uwp<\/td>\n<td width=\"312\">504<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<p>Don\u2019t see a triplet you\u2019d like? You can easily add your own triplets. Details on adding triplets can be found in our <a href=\"https:\/\/github.com\/microsoft\/vcpkg\/blob\/master\/docs\/users\/triplets.md\">documentation<\/a>.<\/p>\n<h2>Overlay Triplets<\/h2>\n<p>As part of our vcpkg command line updates, we also added an <code>--overlay-triplets<\/code> option. This option is especially helpful if you have custom triplet needs. You can use the option, similar to <code>--overlay-ports<\/code>, to override triplets with custom specifications and create custom triplets.<\/p>\n<p>For example, a subset of Linux users require fully dynamic libraries, whereas the x64-linux triplet only builds static libraries. A custom triplet file based on the <a href=\"https:\/\/github.com\/microsoft\/vcpkg\/blob\/master\/triplets\/x64-linux.cmake\">x64-linux triplet<\/a> can be created to build dynamic libraries. To solve this problem:<\/p>\n<p>First, create a folder to contain your custom triplets:<\/p>\n<pre class=\"lang:sh decode:true\">~\/vcpkg$ mkdir ..\/custom-triplets<\/pre>\n<p>Then, create the custom triplet file:<\/p>\n<pre class=\"lang:sh decode:true \">~\/vcpkg$ cp .\/triplets\/x64-linux.cmake ..\/custom-triplets\/x64-linux-dynamic.cmake<\/pre>\n<p class=\"\">And modify the custom-triplets\/x64-linux-dynamic.cmake file to:<\/p>\n<pre class=\"lang:sh decode:true\">set(VCPKG_TARGET_ARCHITECTURE x64) \r\nset(VCPKG_CRT_LINKAGE dynamic) \r\nset(VCPKG_LIBRARY_LINKAGE dynamic) \r\nset(VCPKG_CMAKE_SYSTEM_NAME Linux)<\/pre>\n<p><em>* <\/em><em>Note the change of <\/em><em>VCPKG_LIBRARY_LINKAGE from static to dynamic.<\/em><\/p>\n<p>Finally, use your custom triplet by passing the <code>--overlay-triplets<\/code> option:<\/p>\n<pre class=\"lang:sh decode:true\">~\/vcpkg$ vcpkg install opencv:x64-linux-dynamic --overlay-triplets=..\/custom-triplets<\/pre>\n<h2>Improvements for Port Contributors<\/h2>\n<p>We also made improvements to the vcpkg infrastructure including a public CI system, check features, and a \u2018Homepage\u2019 field for ports.<\/p>\n<h3>CI System<\/h3>\n<p>We now have public CI tests through Azure DevOps pipelines which are run for all PRs to the vcpkg GitHub repo. The CI system allows contributors to get direct, automatic access to failure logs for PRs on Linux, Windows, and Mac within minutes. For example:<\/p>\n<p><img decoding=\"async\" class=\"alignnone wp-image-24623\" style=\"font-size: 1rem;\" src=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2019\/07\/CI-pic-1-300x196.png\" alt=\"PR with passing and failing checks\" width=\"471\" height=\"308\" srcset=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2019\/07\/CI-pic-1-300x196.png 300w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2019\/07\/CI-pic-1-768x501.png 768w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2019\/07\/CI-pic-1.png 932w\" sizes=\"(max-width: 471px) 100vw, 471px\" \/><img decoding=\"async\" class=\"alignnone wp-image-24624\" style=\"font-size: 1rem;\" src=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2019\/07\/CI-pic-2-300x130.png\" alt=\"GitHub badge with passing and failing checks\" width=\"503\" height=\"218\" srcset=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2019\/07\/CI-pic-2-300x130.png 300w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2019\/07\/CI-pic-2-768x332.png 768w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2019\/07\/CI-pic-2.png 942w\" sizes=\"(max-width: 503px) 100vw, 503px\" \/><\/p>\n<p>The checks will still include badges to indicate <span style=\"font-size: 1rem;\">pass\/fail as shown by the \u2018x\u2019 or \u2018check mark\u2019.<\/span><\/p>\n<p>And if a check fails, you can now drill into the details:<\/p>\n<p><img decoding=\"async\" class=\"alignnone wp-image-24625\" src=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2019\/07\/CI-pic-3-300x140.png\" alt=\"PR check details in Azure DevOps\" width=\"549\" height=\"256\" srcset=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2019\/07\/CI-pic-3-300x140.png 300w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2019\/07\/CI-pic-3-768x359.png 768w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2019\/07\/CI-pic-3-1024x479.png 1024w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2019\/07\/CI-pic-3.png 1167w\" sizes=\"(max-width: 549px) 100vw, 549px\" \/><\/p>\n<p>Going further into Azure DevOps, you can get more information in the Summary tab such as downloading a zip file of all the failure logs along with a quick description of relevant changes:<\/p>\n<p><img decoding=\"async\" class=\"alignnone wp-image-24626\" src=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2019\/07\/CI-pic-4-300x123.png\" alt=\"Failed check details in Summary page of Azure DevOps\" width=\"549\" height=\"225\" srcset=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2019\/07\/CI-pic-4-300x123.png 300w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2019\/07\/CI-pic-4-768x316.png 768w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2019\/07\/CI-pic-4-1024x421.png 1024w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2019\/07\/CI-pic-4.png 1173w\" sizes=\"(max-width: 549px) 100vw, 549px\" \/><\/p>\n<p>We hope the new CI system will improve your experience submitting PRs to vcpkg!<\/p>\n<h3>Check Features<\/h3>\n<p><code>Vcpkg_check_features<\/code> is a new portfile function that checks if one or more features are a part of a package installation. In vcpkg we use features to enable optional capabilities offered by libraries. A user requests vcpkg to install. For example:<\/p>\n<pre class=\"lang:sh decode:true\">~\/vcpkg$ vcpkg install opencv[cuda]<\/pre>\n<p>The install command enables the optional CUDA support for OpenCV.<\/p>\n<p><code>Vcpkg_check_features<\/code>simplifies the portfile creation process for vcpkg contributors by shortening the syntax needed in the CMake portfile script. Previously, you needed to specify which features are included in the port:<\/p>\n<pre class=\"lang:sh decode:true\">if(&lt;feature&gt; IN_LIST FEATURES)\r\n   set(&lt;var&gt; ON)else()&amp;nbsp;&amp;nbsp; \r\n   set(&lt;var&gt; OFF)\r\nendif()<\/pre>\n<p>Now, you can simply write the following:<\/p>\n<pre class=\"lang:sh decode:true \">vcpkg_check_features(&lt;feature&gt; &lt;output_variable&gt;)<\/pre>\n<p>Learn more about using <code>vcpkg_check_features<\/code> in your portfiles in the <a href=\"https:\/\/github.com\/microsoft\/vcpkg\/blob\/master\/docs\/maintainers\/vcpkg_check_features.md\"><code>vcpkg_check_features<\/code> documentation<\/a>.<\/p>\n<h3>\u2018Homepage\u2019 Field for Ports<\/h3>\n<p>We also added an optional &#8216;Homepage&#8217; field to CONTROL. This means that CONTROL files may now contain a &#8216;Homepage&#8217; field which links to the port&#8217;s official website. The Homepage field is designed to help you more easily find the origin\/location of the ports you are using.<\/p>\n<h2>Documentation<\/h2>\n<p>We also updated our documentation to reflect these new changes. Check out the following new docs for more information on some of the updates outlined in this post in addition to a couple other areas:<\/p>\n<ul>\n<li><a href=\"https:\/\/github.com\/microsoft\/vcpkg\/blob\/master\/docs\/maintainers\/maintainer-guide.md\">Maintainer Guidelines and Policies<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/microsoft\/vcpkg\/blob\/master\/docs\/specifications\/ports-overlay.md\">Ports Overlay<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/microsoft\/vcpkg\/blob\/master\/docs\/maintainers\/vcpkg_check_features.md\">vcpkg_check_features<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/microsoft\/vcpkg\/blob\/master\/docs\/maintainers\/vcpkg_execute_build_process.md\">vcpkg_execute_build_process<\/a><\/li>\n<\/ul>\n<h2>Thank you<\/h2>\n<p>Thank you to everyone who created vcpkg! We now have 639 total contributors. This release, we\u2019d like to thank the following 24 contributors who made code changes in June:<\/p>\n<table style=\"border-collapse: collapse; width: 16.6958%; height: 348px;\">\n<tbody>\n<tr style=\"height: 24px;\">\n<td style=\"width: 50%; height: 24px;\"><a href=\"https:\/\/github.com\/cenit\">cenit<\/a><\/td>\n<td style=\"width: 50%; height: 24px;\"><a href=\"https:\/\/github.com\/martinmoene\">martinmoene<\/a><\/td>\n<\/tr>\n<tr style=\"height: 28px;\">\n<td style=\"width: 50%; height: 28px;\"><a href=\"https:\/\/github.com\/coryan\">coryan<\/a><\/td>\n<td style=\"width: 50%; height: 28px;\"><a href=\"https:\/\/github.com\/martin-s\">martin-s<\/a><\/td>\n<\/tr>\n<tr style=\"height: 28px;\">\n<td style=\"width: 50%; height: 28px;\"><a href=\"https:\/\/github.com\/driver1998\">driver1998<\/a><\/td>\n<td style=\"width: 50%; height: 28px;\"><a href=\"https:\/\/github.com\/mloskot\">mloskot<\/a><\/td>\n<\/tr>\n<tr style=\"height: 28px;\">\n<td style=\"width: 50%; height: 28px;\"><a href=\"https:\/\/github.com\/eao197\">eao197<\/a><\/td>\n<td style=\"width: 50%; height: 28px;\"><a href=\"https:\/\/github.com\/myd7349\">myd7349<\/a><\/td>\n<\/tr>\n<tr style=\"height: 28px;\">\n<td style=\"width: 50%; height: 28px;\"><a href=\"https:\/\/github.com\/evpobr\">evpobr<\/a><\/td>\n<td style=\"width: 50%; height: 28px;\"><a href=\"https:\/\/github.com\/Neumann-A\">Neumann-A<\/a><\/td>\n<\/tr>\n<tr style=\"height: 28px;\">\n<td style=\"width: 50%; height: 28px;\"><a href=\"https:\/\/github.com\/Farwaykorse\">Farwaykorse<\/a><\/td>\n<td style=\"width: 50%; height: 28px;\"><a href=\"https:\/\/github.com\/past-due\">past-due<\/a><\/td>\n<\/tr>\n<tr style=\"height: 28px;\">\n<td style=\"width: 50%; height: 28px;\"><a href=\"https:\/\/github.com\/hkaiser\">hkaiser<\/a><\/td>\n<td style=\"width: 50%; height: 28px;\"><a href=\"https:\/\/github.com\/pravic\">pravic<\/a><\/td>\n<\/tr>\n<tr style=\"height: 28px;\">\n<td style=\"width: 50%; height: 28px;\"><a href=\"https:\/\/github.com\/jasjuang\">jasjuang<\/a><\/td>\n<td style=\"width: 50%; height: 28px;\"><a href=\"https:\/\/github.com\/SuperWig\">SuperWig<\/a><\/td>\n<\/tr>\n<tr style=\"height: 28px;\">\n<td style=\"width: 50%; height: 28px;\"><a href=\"https:\/\/github.com\/josuegomes\">josuegomes<\/a><\/td>\n<td style=\"width: 50%; height: 28px;\"><a href=\"https:\/\/github.com\/tarcila\">tarcila<\/a><\/td>\n<\/tr>\n<tr style=\"height: 28px;\">\n<td style=\"width: 50%; height: 28px;\"><a href=\"https:\/\/github.com\/jumpinjackie\">jumpinjackie<\/a><\/td>\n<td style=\"width: 50%; height: 28px;\"><a href=\"https:\/\/github.com\/TartanLlama\">TartanLlama<\/a><\/td>\n<\/tr>\n<tr style=\"height: 28px;\">\n<td style=\"width: 50%; height: 28px;\"><a href=\"https:\/\/github.com\/lebdron\">lebdron<\/a><\/td>\n<td style=\"width: 50%; height: 28px;\"><a href=\"https:\/\/github.com\/ThadHouse\">ThadHouse<\/a><\/td>\n<\/tr>\n<tr style=\"height: 28px;\">\n<td style=\"width: 50%; height: 28px;\"><a href=\"https:\/\/github.com\/MarkIanHolland\">MarkIanHolland<\/a><\/td>\n<td style=\"width: 50%; height: 28px;\"><a href=\"https:\/\/github.com\/UnaNancyOwen\">UnaNancyOwen<\/a><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<h2>Tell Us What You Think<\/h2>\n<p><a href=\"https:\/\/github.com\/microsoft\/vcpkg#quick-start\">Install vcpkg<\/a>, give it a try, and let us know what you think. If you run into any issues, or have any suggestions, please report them on the\u00a0<a href=\"https:\/\/github.com\/microsoft\/vcpkg\/issues\">Issues section of our GitHub repository<\/a>.<\/p>\n<p>We can be reached via the comments below or via email (vcpkg@microsoft.com). You can also find our team \u2013 and me \u2013 on Twitter <a href=\"https:\/\/twitter.com\/visualc\">@VisualC <\/a>and <a href=\"https:\/\/twitter.com\/tara_msft\">@tara_msft<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The 2019.06 update of vcpkg, a tool that helps you manage C and C++ libraries on Windows, Linux, and MacOS, is now available. This is the first time we\u2019ve created a vcpkg release on our GitHub repository. This update is designed to bring you a summary of the new functionality and improvements made to vcpkg [&hellip;]<\/p>\n","protected":false},"author":1305,"featured_media":24628,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[270],"tags":[291,284,2261,334,273,348],"class_list":["post-24620","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-announcement","tag-c-libraries","tag-linux","tag-macos","tag-package-manager","tag-vcpkg","tag-windows-10"],"acf":[],"blog_post_summary":"<p>The 2019.06 update of vcpkg, a tool that helps you manage C and C++ libraries on Windows, Linux, and MacOS, is now available. This is the first time we\u2019ve created a vcpkg release on our GitHub repository. This update is designed to bring you a summary of the new functionality and improvements made to vcpkg [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/posts\/24620","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/users\/1305"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/comments?post=24620"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/posts\/24620\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/media\/24628"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/media?parent=24620"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/categories?post=24620"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/tags?post=24620"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}