This blog post summarizes changes to the vcpkg package manager as part of the 2024.08.23 release, 2024-08-01 tool release, as well as changes to vcpkg documentation throughout August. This month’s release includes several notable changes as well as bug fixes and documentation improvements. The most notable changes were:
- The shell function used to run vcpkg artifacts commands has been renamed to vcpkg-shell. Artifacts users will need to update their commands to use this new identifier.
- A triplet variable called VCPKG_POST_PORTFILE_INCLUDES was added to allow users to specify a list of CMake files to include after the execution of portfile.cmake.
- Documentation articles were added for using vcpkg to target Windows with MSVC as well as Universal Windows Platform (UWP).
Some stats for this period:
- There are now 2,475 total ports available in the vcpkg public registry. A port is a versioned recipe for building a package from source, such as a C or C++ library.
- 20 new ports were added to the open-source registry.
- 267 updates were made to existing ports. As always, we validate each change to a port by building all other ports that depend on or are depended by the library that is being updated for our 13 main triplets.
- 30 people contributed to this release.
- The main vcpkg repo has over 6,300 forks and 22,700 stars on GitHub.
Lastly, it’s CppCon season, and I am giving a talk on 10 Problems Large Companies Have with Managing C++ Dependencies and How to Solve Them on Tuesday, September 17, 2024, from 16:45-17:45 MDT. If you are coming to the conference, check it out! If you are unable to make it, the talk should go up on YouTube sometime after the event.
vcpkg changelog (2024.08.23 release)
The following notable changes were made in this release:
- The shell function used to run vcpkg artifacts commands has been renamed from vcpkg to vcpkg-shell. This addresses some issues when running vcpkg from a Visual Studio Developer Command Prompt. If you are an artifacts user, you will need to update your commands. For example: vcpkg activate should be changed to vcpkg-shell activate. Note: most vcpkg commands do not use the shell script, and you should still be able to run them as before (PR: Microsoft/vcpkg-tool#1442).
- Added VCPKG_POST_PORTFILE_INCLUDES triplet variable. Allows users to optionally specify a list of CMake files to include after the execution of portfile.cmake (PR: Microsoft/vcpkg-tool#1417, thanks @Neumann-A!).
- Bug fixes:
- Fixed a crash if
"platform": "mips64"
is used (PR: Microsoft/vcpkg-tool#1454, thanks @autoantwort!). - Added error checking for http binary caching when some incorrect URL formats are specified (PR: Microsoft/vcpkg-tool#1459, thanks @autoantwort!).
- Fixed several typos in console output (PR: Microsoft/vcpkg-tool#1461).
- Fixed JSON configuration schemas for vcpkg manifest files not correctly supporting ports with wildcards (PR: Microsoft/vcpkg-tool#1429).
- Fixed filesystem registry schema not including a
"baseline"
property (PR: Microsoft/vcpkg-tool#1463).
- Fixed a crash if
Documentation changes
- Updated the vcpkg Maintainer Guide to elaborate on port naming guidelines and add a guideline about downloading patch files (PR: Microsoft/vcpkg-docs#371).
- Added vcpkg_msbuild_install maintainer function to Table of Contents (PR: Microsoft/vcpkg-docs#378, thanks @HNegus!).
- Added articles for using vcpkg to target Windows with MSVC and Universal Windows Platform (PR: Microsoft/vcpkg-docs#77, thanks @walbourn!).
- Documented triplet naming requirements and usage of
VCPKG_CXX_FLAGS
, along with some additional typo fixes and clarifications (PR: Microsoft/vcpkg-docs#384, thanks @Thomas1664!). - Formatting improvements to several deprecation warnings in documentation (PR: Microsoft/vcpkg-docs#380, thanks @Thomas1664!).
- Other typo, formatting, and bug fixes (thanks @Thomas1664, @HNegus!).
If you have any suggestions for our documentation, please submit an issue in our GitHub repo or see the box at the bottom of a particular article.
Total ports available for tested triplets
triplet | ports available |
x64-windows | 2,337 |
x86-windows | 2,239 |
x64-windows-static | 2,214 |
x64-windows-static-md | 2,249 |
arm64-windows | 1,929 |
x64-uwp | 1,293 |
arm64-uwp | 1,263 |
x64-linux | 2,306 |
x64-osx | 2,185 |
arm64-osx | 2,105 |
arm-neon-android | 1,608 |
x64-android | 1,683 |
arm64-android | 1,657 |
While vcpkg supports a much larger variety of target platforms and architectures (as community triplets), the list above is validated exhaustively to ensure updated ports don’t break other ports in the catalog.
Thank you to our contributors
vcpkg couldn’t be where it is today without contributions from our open-source community. Thank you for your continued support! The following people contributed to the vcpkg, vcpkg-tool, or vcpkg-docs repos in this release (listed alphabetically by GitHub username):
- ADKaster
- agl-alexglopez
- autoantwort
- benjamin-hodgson
- BertalanD
- crhowell3
- derekcyruschow-catapult
- Gwaldron
- hermet
- HNegus
- LandryNorris
- matthieugleg
- medns
- mutptr
- Neumann-A
- oboukli
- plekakis
- RobbiE-Envista
- romanpauk
- rudchenkos
- sgoth
- tchaikov
- timkpaine
- Thomas1664
- TomieAi
- trflynn89
- vadi2
- walbourn
- westlicht
- xb284524239
- z4kn4fein
Learn more
You can find the full 2024.08.23 release notes on GitHub for the main repo. Recent updates to the vcpkg tool can be viewed on the vcpkg-tool Releases page. To contribute to vcpkg documentation, visit the vcpkg-docs repo. If you’re new to vcpkg or curious about how a package manager can make your life easier as a C/C++ developer, check out the vcpkg website – vcpkg.io.
If you would like to contribute to vcpkg and its library catalog, or want to give us feedback on anything, check out our GitHub repo. Please report bugs or request updates to ports in our issue tracker or join more general discussion in our discussion forum.
0 comments