[webkit-changes] [WebKit/WebKit] 3b54e4: [Skia] Integrate building Skia with CMake

Adrian Perez noreply at github.com
Fri Feb 9 05:10:34 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 3b54e45d63b84f8ab8d70179184c45be78386622
      https://github.com/WebKit/WebKit/commit/3b54e45d63b84f8ab8d70179184c45be78386622
  Author: Adrian Perez de Castro <aperez at igalia.com>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
    A Source/ThirdParty/skia/CMakeLists.txt
    A Source/ThirdParty/skia/README.WebKit
    A Source/ThirdParty/skia/ext-skia-configure
    A Source/ThirdParty/skia/include/gpu/gl/epoxy/GrGLMakeEpoxyEGLInterface.h
    A Source/ThirdParty/skia/src/gpu/ganesh/gl/epoxy/GrGLMakeEpoxyEGLInterface.cpp
    A Source/ThirdParty/skia/src/gpu/ganesh/gl/epoxy/GrGLMakeNativeInterface_epoxy.cpp
    M Source/cmake/OptionsWPE.cmake

  Log Message:
  -----------
  [Skia] Integrate building Skia with CMake
https://bugs.webkit.org/show_bug.cgi?id=269006

Reviewed by Carlos Garcia Campos.

Add CMake build definitions to compile Skia. This compiles only those
parts of Skia that will be needed at first by the WPE port, and while
it was written mostly by hand with the source file lists and some
inspiration from the Skia GN-based build system. The only missing bit
is a call to add_directory() to wire the subproject into the rest of
the CMake build, which will be done in a follow-up.

Additionally, this also includes a implementation of Skia's
GrGLMakeNativeInterface() that calls into libepoxy to resolve GL/EGL
entry points. This ensures that the functions used by Skia are the same
as the rest of WebKit and that libWPEWebKit is only ever linked at build
time against libepoxy and not concrete GL/EGL libraries.

* Source/ThirdParty/skia/CMakeLists.txt: Added.
* Source/ThirdParty/skia/README.WebKit: Added.
* Source/ThirdParty/skia/ext-skia-configure: Added.
* Source/ThirdParty/skia/include/gpu/gl/epoxy/GrGLMakeEpoxyEGLInterface.h: Added.
* Source/ThirdParty/skia/src/gpu/ganesh/gl/epoxy/GrGLMakeEpoxyEGLInterface.cpp: Added.
(epoxy_get_gl_proc):
(GrGLMakeEpoxyEGLInterface):
* Source/ThirdParty/skia/src/gpu/ganesh/gl/epoxy/GrGLMakeNativeInterface_epoxy.cpp: Added.
(GrGLMakeNativeInterface):
* Source/cmake/OptionsWPE.cmake: Introduce an USE_CAIRO build option,
set to TRUE for now, and make checking for Cairo, Fontconfig, and
Freetype guarded by it. Once we add the Skia variant it will not be needed
to list these directly because the Skia font manager will be used.

Canonical link: https://commits.webkit.org/274359@main




More information about the webkit-changes mailing list