ChampSim
The ANGLE vcpkg port

The ANGLE port's buildsystem is based off of WebKit's approach to converting ANGLE's buildsystem to CMake.

Details:

  • cmake-buildsystem/CMakeLists.txt
    • This is an augmented version of WebKit's CMakeLists.txt, with vcpkg edits and additions.
  • cmake-buildsystem/*.cmake
    • These are configuration files based on WebKit's approach, but customized for vcpkg (and using PlatformLinux instead of PlatformGTK)

Updating the ANGLE vcpkg port

  1. Select a new ANGLE version

Recommendation: Follow the recommendations in the libANGLE "[Choosing an ANGLE branch](https://github.com/google/angle/blob/master/doc/ChoosingANGLEBranch.md#matching-a-chromium-release-to-an-angle-branch)" guide, and find the branch that matches the current Chromium Stable.

  1. Find the branch (usually chromium/<version>) and latest commit on that branch, and update the following variables in portfile.cmake:
    • ANGLE_COMMIT
    • ANGLE_VERSION
    • ANGLE_SHA512
  2. Check the DEPS file at that ANGLE commit, for the commit used in ‘'third_party/zlib’, and updateANGLE_THIRDPARTY_ZLIB_COMMITinportfile.cmake` if necessary.
  3. Attempt to build. You may have to tweak the CMakeLists.txt, Platform*.cmake files, etc. Check with the latest files in WebKit's repo to see if any updates need to be ported to the vcpkg's custom files. You might also need to change the ANGLE_WEBKIT_BUILDSYSTEM_COMMIT in the portfile (although this should theoretically need updating less frequently).
  4. Check headers against opengl-registry - make sure headers are similar.

    angle defines some additional entrypoints. opengl-registry should be latest before updating angle

  5. Complete all the other normal steps in the Maintainer Guide