August 23rd, 2022

vcpkg August 2022 Release is Now Available: CMake Version Update, Updated FAQ, Cross-compilation Fix for Apple Silicon

Augustin Popa
Senior Product Manager

The August 2022 release of the vcpkg package manager is available. This blog post summarizes changes from July 25th, 2022 to August 14th, 2022 for the Microsoft/vcpkg and Microsoft/vcpkg-tool GitHub repos.

Some stats for this period:

  • 8 new ports were added to the open-source registry. If you are unfamiliar with the term ‘port’, they are packages that are built from source and are typically C/C++ libraries.
  • 192 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 nine main triplets.
  • There are now 1,975 total libraries available in the vcpkg public registry. When including all available versions, there are over 10,106 port versions.
  • The August release of the main vcpkg repo includes 204 commits.
  • 69 contributors submitted PRs, issues, or participated in discussions in the repo.
  • The main vcpkg repo has 4.7k forks and 16.5k stars on GitHub.

 

Notable Changes

This is a minor update and there was no tool update this month, so most of the changes are to the open-source ports registry or minor changes. See the full commit changelog for details. We call out several of the more interesting changes below.

 

vcpkg now uses CMake v3.24

Updated the version of CMake used by vcpkg to 3.24. Note: this doesn’t restrict what version of CMake a vcpkg user can use for their own projects, and vcpkg can be asked to use a version of CMake already installed on the user’s machine, as long as it is not an older version than 3.24.

PR: Microsoft/vcpkg#25365 (thank you @Neumann-A!)

 

Improved cross-compilation for Apple silicon

A community PR improves correctness when cross-compiling from x86_64 to arm64 on macOS (and vice-versa). It also takes into account Rosetta’s capability to run x86_64 binaries on arm64 macOS systems.

PR: Microsoft/vcpkg#26240 (thanks @ekilmer!)

 

Documentation changes

The following documentation changes were made this release:

  • Extensive changes to the FAQ page as it was out of date, taking account of new vcpkg features and tool targeting capabilities.
  • Updated triplets documentation to include the variable VCPKG_FIXUP_ELF_RPATH (thanks @Osyotr!)

PRs: Microsoft/vcpkg#25400, Microsoft/vcpkg#26040

 

Total Ports Available for Tested Triplets

triplet ports available
x86-windows 1,775
x64-windows 1,828
x64-windows-static 1,741
x64-windows-static-md 1,755
x64-uwp 939
arm64-windows 1,364
arm-uwp 891
x64-osx 1,697
x64-linux 1,765

While vcpkg supports a much larger variety of target platforms x architectures, 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 and vcpkg-tool repos in this release:

  • Neumann-A (27 commits)
  • Thomas1664 (8 commits)
  • Osyotr (6 commits)
  • autoantwort (5 commits)
  • ekilmer (3 commits)
  • dg0yt (3 commits)
  • cenit (2 commits)
  • myd7349 (1 commit)
  • coryan (1 commit)
  • AenBleidd (1 commit)

 

Learn More

You can find the full August release notes on GitHub for the main repo. Recent updates to the vcpkg tool can be viewed on the vcpkg-tool Releases page. 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. For an overview of our top priorities and backlog, take a look at our roadmap page.

Category
C++Vcpkg
Topics
vcpkg

Author

Augustin Popa
Senior Product Manager

Product manager on the Microsoft C++ team, currently working on vcpkg.

0 comments

Discussion are closed.