vcpkg/scripts/angle/maintainer-notes.md
pastdue 691244117b
[angle] Update to chromium/5414, improve build system (and future updates) (#27444)
* [angle] Update to chromium/5249

- Refactor build system based on WebKit's CMake build system for libANGLE
- Add maintainer-notes.md

* [angle] Fetch & generate more files in portfile

* [angle] Move maintainer-notes.md

* [angle] Port changes from #27701

* Merge install tweak from #28547

* [angle] Tweak PlatformLinux

* Run x-add-version

* [angle] Update to chromium/5414

* Run x-add-version

* Fix version database.

* Fix version database

---------

Co-authored-by: Billy Robert O'Neal III <bion@microsoft.com>
Co-authored-by: Jonliu1993 <13720414433@163.com>
2023-02-10 11:45:11 -08:00

2.1 KiB

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" 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 update ANGLE_THIRDPARTY_ZLIB_COMMIT in portfile.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

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