Title: [287060] trunk/Tools
Revision
287060
Author
[email protected]
Date
2021-12-14 19:00:46 -0800 (Tue, 14 Dec 2021)

Log Message

[CMake] Modernize WPEToolingBackend
https://bugs.webkit.org/show_bug.cgi?id=234307

Reviewed by Adrian Perez de Castro.

Use WEBKIT_FRAMEWORK to build WPEToolingBackend and follow its conventions. Also support
different platform definitions so other ports using libwpe can also use this library.

Update includes to use <WPEToolingBackend/*.h>.

* MiniBrowser/wpe/CMakeLists.txt:
* MiniBrowser/wpe/main.cpp:
* TestWebKitAPI/PlatformWPE.cmake:
* TestWebKitAPI/glib/PlatformWPE.cmake:
* TestWebKitAPI/glib/WebKitGLib/TestMain.h:
* TestWebKitAPI/wpe/PlatformWebViewWPE.cpp:
* WebKitTestRunner/PlatformWPE.cmake:
* WebKitTestRunner/wpe/EventSenderProxyWPE.cpp:
* WebKitTestRunner/wpe/PlatformWebViewWPE.cpp:
* wpe/backends/CMakeLists.txt:
* wpe/backends/PlatformWPE.cmake: Added.

Modified Paths

Added Paths

Diff

Modified: trunk/Tools/ChangeLog (287059 => 287060)


--- trunk/Tools/ChangeLog	2021-12-15 01:25:11 UTC (rev 287059)
+++ trunk/Tools/ChangeLog	2021-12-15 03:00:46 UTC (rev 287060)
@@ -1,3 +1,27 @@
+2021-12-14  Don Olmstead  <[email protected]>
+
+        [CMake] Modernize WPEToolingBackend
+        https://bugs.webkit.org/show_bug.cgi?id=234307
+
+        Reviewed by Adrian Perez de Castro.
+
+        Use WEBKIT_FRAMEWORK to build WPEToolingBackend and follow its conventions. Also support
+        different platform definitions so other ports using libwpe can also use this library.
+
+        Update includes to use <WPEToolingBackend/*.h>.
+
+        * MiniBrowser/wpe/CMakeLists.txt:
+        * MiniBrowser/wpe/main.cpp:
+        * TestWebKitAPI/PlatformWPE.cmake:
+        * TestWebKitAPI/glib/PlatformWPE.cmake:
+        * TestWebKitAPI/glib/WebKitGLib/TestMain.h:
+        * TestWebKitAPI/wpe/PlatformWebViewWPE.cpp:
+        * WebKitTestRunner/PlatformWPE.cmake:
+        * WebKitTestRunner/wpe/EventSenderProxyWPE.cpp:
+        * WebKitTestRunner/wpe/PlatformWebViewWPE.cpp:
+        * wpe/backends/CMakeLists.txt:
+        * wpe/backends/PlatformWPE.cmake: Added.
+
 2021-12-14  Ryan Haddad  <[email protected]>
 
         Bring up another iOS GPU Processes tester

Modified: trunk/Tools/MiniBrowser/wpe/CMakeLists.txt (287059 => 287060)


--- trunk/Tools/MiniBrowser/wpe/CMakeLists.txt	2021-12-15 01:25:11 UTC (rev 287059)
+++ trunk/Tools/MiniBrowser/wpe/CMakeLists.txt	2021-12-15 03:00:46 UTC (rev 287060)
@@ -4,12 +4,10 @@
 
 set(MiniBrowser_PRIVATE_INCLUDE_DIRECTORIES
     ${CMAKE_BINARY_DIR}
-    ${CMAKE_BINARY_DIR}/DerivedSources/WPEToolingBackends
     ${DERIVED_SOURCES_WPE_API_DIR}
     ${FORWARDING_HEADERS_WPE_DIR}
     ${_javascript_CoreGLib_DERIVED_SOURCES_DIR}
     ${_javascript_CoreGLib_FRAMEWORK_HEADERS_DIR}
-    ${TOOLS_DIR}/wpe/backends/
 )
 
 set(MiniBrowser_SYSTEM_INCLUDE_DIRECTORIES
@@ -24,7 +22,7 @@
     ${_javascript_Core_LIBRARY_NAME}
     ${WPEBACKEND_FDO_LIBRARIES}
     WPE::libwpe
-    WPEToolingBackends
+    WebKit::WPEToolingBackends
     WebKit::WebKit
 )
 

Modified: trunk/Tools/MiniBrowser/wpe/main.cpp (287059 => 287060)


--- trunk/Tools/MiniBrowser/wpe/main.cpp	2021-12-15 01:25:11 UTC (rev 287059)
+++ trunk/Tools/MiniBrowser/wpe/main.cpp	2021-12-15 03:00:46 UTC (rev 287060)
@@ -26,8 +26,8 @@
 #include "cmakeconfig.h"
 
 #include "BuildRevision.h"
-#include "HeadlessViewBackend.h"
-#include "WindowViewBackend.h"
+#include <WPEToolingBackends/HeadlessViewBackend.h>
+#include <WPEToolingBackends/WindowViewBackend.h>
 #include <memory>
 #include <wpe/webkit.h>
 

Modified: trunk/Tools/TestWebKitAPI/PlatformWPE.cmake (287059 => 287060)


--- trunk/Tools/TestWebKitAPI/PlatformWPE.cmake	2021-12-15 01:25:11 UTC (rev 287059)
+++ trunk/Tools/TestWebKitAPI/PlatformWPE.cmake	2021-12-15 03:00:46 UTC (rev 287060)
@@ -63,7 +63,6 @@
     ${CMAKE_SOURCE_DIR}/Source
     ${FORWARDING_HEADERS_DIR}
     ${WPEBACKEND_FDO_INCLUDE_DIRS}
-    ${TOOLS_DIR}/wpe/backends
 )
 
 list(APPEND TestWebKit_SYSTEM_INCLUDE_DIRECTORIES
@@ -73,7 +72,7 @@
 
 list(APPEND TestWebKit_LIBRARIES
     ${WPEBACKEND_FDO_LIBRARIES}
-    WPEToolingBackends
+    WebKit::WPEToolingBackends
 )
 
 # TestWebKitAPIBase

Modified: trunk/Tools/TestWebKitAPI/glib/PlatformWPE.cmake (287059 => 287060)


--- trunk/Tools/TestWebKitAPI/glib/PlatformWPE.cmake	2021-12-15 01:25:11 UTC (rev 287059)
+++ trunk/Tools/TestWebKitAPI/glib/PlatformWPE.cmake	2021-12-15 03:00:46 UTC (rev 287060)
@@ -10,7 +10,6 @@
     ${FORWARDING_HEADERS_WPE_DIR}
     ${FORWARDING_HEADERS_WPE_DOM_DIR}
     ${FORWARDING_HEADERS_WPE_EXTENSION_DIR}
-    ${TOOLS_DIR}/wpe/backends
 )
 
 list(APPEND WebKitGLibAPITests_SYSTEM_INCLUDE_DIRECTORIES
@@ -19,12 +18,12 @@
 
 list(APPEND WebKitGLibAPITestsCore_LIBRARIES
     Cairo::Cairo
-    WPEToolingBackends
+    WebKit::WPEToolingBackends
 )
 
 list(APPEND WebKitGLibAPITest_LIBRARIES
+    ${WPEBACKEND_FDO_LIBRARIES}
     Cairo::Cairo
-    ${WPEBACKEND_FDO_LIBRARIES}
     WPE::libwpe
-    WPEToolingBackends
+    WebKit::WPEToolingBackends
 )

Modified: trunk/Tools/TestWebKitAPI/glib/WebKitGLib/TestMain.h (287059 => 287060)


--- trunk/Tools/TestWebKitAPI/glib/WebKitGLib/TestMain.h	2021-12-15 01:25:11 UTC (rev 287059)
+++ trunk/Tools/TestWebKitAPI/glib/WebKitGLib/TestMain.h	2021-12-15 03:00:46 UTC (rev 287060)
@@ -31,7 +31,7 @@
 #if PLATFORM(GTK)
 #include <webkit2/webkit2.h>
 #elif PLATFORM(WPE)
-#include "HeadlessViewBackend.h"
+#include <WPEToolingBackends/HeadlessViewBackend.h>
 #include <wpe/webkit.h>
 #endif
 

Modified: trunk/Tools/TestWebKitAPI/wpe/PlatformWebViewWPE.cpp (287059 => 287060)


--- trunk/Tools/TestWebKitAPI/wpe/PlatformWebViewWPE.cpp	2021-12-15 01:25:11 UTC (rev 287059)
+++ trunk/Tools/TestWebKitAPI/wpe/PlatformWebViewWPE.cpp	2021-12-15 03:00:46 UTC (rev 287060)
@@ -26,7 +26,7 @@
 #include "config.h"
 #include "PlatformWebView.h"
 
-#include "HeadlessViewBackend.h"
+#include <WPEToolingBackends/HeadlessViewBackend.h>
 #include <WebKit/WKRetainPtr.h>
 #include <WebKit/WKView.h>
 

Modified: trunk/Tools/WebKitTestRunner/PlatformWPE.cmake (287059 => 287060)


--- trunk/Tools/WebKitTestRunner/PlatformWPE.cmake	2021-12-15 01:25:11 UTC (rev 287059)
+++ trunk/Tools/WebKitTestRunner/PlatformWPE.cmake	2021-12-15 03:00:46 UTC (rev 287060)
@@ -15,7 +15,6 @@
 
 list(APPEND WebKitTestRunner_INCLUDE_DIRECTORIES
     ${FORWARDING_HEADERS_DIR}
-    ${TOOLS_DIR}/wpe/backends
 )
 
 list(APPEND WebKitTestRunner_SYSTEM_INCLUDE_DIRECTORIES
@@ -30,7 +29,7 @@
     ${LIBXKBCOMMON_LIBRARIES}
     ${WPEBACKEND_FDO_LIBRARIES}
     Cairo::Cairo
-    WPEToolingBackends
+    WebKit::WPEToolingBackends
 )
 
 list(APPEND WebKitTestRunnerInjectedBundle_LIBRARIES

Modified: trunk/Tools/WebKitTestRunner/wpe/EventSenderProxyWPE.cpp (287059 => 287060)


--- trunk/Tools/WebKitTestRunner/wpe/EventSenderProxyWPE.cpp	2021-12-15 01:25:11 UTC (rev 287059)
+++ trunk/Tools/WebKitTestRunner/wpe/EventSenderProxyWPE.cpp	2021-12-15 03:00:46 UTC (rev 287060)
@@ -26,9 +26,9 @@
 #include "config.h"
 #include "EventSenderProxy.h"
 
-#include "HeadlessViewBackend.h"
 #include "PlatformWebView.h"
 #include "TestController.h"
+#include <WPEToolingBackends/HeadlessViewBackend.h>
 #include <WebCore/NotImplemented.h>
 #include <wpe/wpe.h>
 #include <wtf/MonotonicTime.h>

Modified: trunk/Tools/WebKitTestRunner/wpe/PlatformWebViewWPE.cpp (287059 => 287060)


--- trunk/Tools/WebKitTestRunner/wpe/PlatformWebViewWPE.cpp	2021-12-15 01:25:11 UTC (rev 287059)
+++ trunk/Tools/WebKitTestRunner/wpe/PlatformWebViewWPE.cpp	2021-12-15 03:00:46 UTC (rev 287060)
@@ -26,7 +26,7 @@
 #include "config.h"
 #include "PlatformWebView.h"
 
-#include "HeadlessViewBackend.h"
+#include <WPEToolingBackends/HeadlessViewBackend.h>
 #include <WebKit/WKImageCairo.h>
 #include <cairo.h>
 #include <cstdio>

Modified: trunk/Tools/wpe/backends/CMakeLists.txt (287059 => 287060)


--- trunk/Tools/wpe/backends/CMakeLists.txt	2021-12-15 01:25:11 UTC (rev 287059)
+++ trunk/Tools/wpe/backends/CMakeLists.txt	2021-12-15 03:00:46 UTC (rev 287060)
@@ -1,62 +1,44 @@
-find_package(Libxkbcommon 0.4.0 REQUIRED)
-find_package(Wayland REQUIRED)
-find_package(WaylandProtocols 1.12 REQUIRED)
-find_package(WPEBackend_fdo 1.3.0 REQUIRED)
+set(WPEToolingBackends_LIBRARY_TYPE STATIC)
+set(WPEToolingBackends_DERIVED_SOURCES_DIR "${CMAKE_BINARY_DIR}/WPEToolingBackends/DerivedSources")
+set(WPEToolingBackends_FRAMEWORK_HEADERS_DIR "${CMAKE_BINARY_DIR}/WPEToolingBackends/Headers")
 
-file(MAKE_DIRECTORY ${DERIVED_SOURCES_WPETOOLINGBACKENDS_DIR})
+file(MAKE_DIRECTORY ${WPEToolingBackends_DERIVED_SOURCES_DIR})
 
-set(WPEToolingBackends_SOURCES
-    ${DERIVED_SOURCES_WPETOOLINGBACKENDS_DIR}/xdg-shell-unstable-v6-protocol.c
-    ${TOOLS_DIR}/wpe/backends/HeadlessViewBackend.cpp
-    ${TOOLS_DIR}/wpe/backends/ViewBackend.cpp
-    ${TOOLS_DIR}/wpe/backends/WebKitAccessibleApplication.cpp
-    ${TOOLS_DIR}/wpe/backends/WindowViewBackend.cpp
+set(WPEToolingBackends_PUBLIC_HEADERS
+    HeadlessViewBackend.h
+    ViewBackend.h
+    WindowViewBackend.h
 )
 
-set(WPEToolingBackends_INCLUDE_DIRECTORIES
-    ${DERIVED_SOURCES_WPETOOLINGBACKENDS_DIR}
+set(WPEToolingBackends_SOURCES
+    HeadlessViewBackend.cpp
+    ViewBackend.cpp
+    WebKitAccessibleApplication.cpp
+    WindowViewBackend.cpp
 )
 
-set(WPEToolingBackends_SYSTEM_INCLUDE_DIRECTORIES
-    ${ATK_INCLUDE_DIRS}
-    ${GLIB_INCLUDE_DIRS}
-    ${LIBEPOXY_INCLUDE_DIRS}
-    ${WPEBACKEND_FDO_INCLUDE_DIRS}
+set(WPEToolingBackends_PRIVATE_INCLUDE_DIRECTORIES
+    ${WPEToolingBackends_DERIVED_SOURCES_DIR}
+    ${TOOLS_DIR}/wpe/backends
 )
 
 set(WPEToolingBackends_LIBRARIES
     Cairo::Cairo
     WPE::libwpe
-    ${ATK_LIBRARIES}
-    ${GLIB_LIBRARIES}
-    ${LIBEPOXY_LIBRARIES}
-    ${LIBXKBCOMMON_LIBRARIES}
-    ${WAYLAND_LIBRARIES}
-    ${WPEBACKEND_FDO_LIBRARIES}
 )
 
-add_definitions(${LIBEPOXY_DEFINITIONS})
+set(WPEToolingBackends_INTERFACE_LIBRARIES WPEToolingBackends)
+set(WPEToolingBackends_INTERFACE_INCLUDE_DIRECTORIES ${WPEToolingBackends_FRAMEWORK_HEADERS_DIR})
+set(WPEToolingBackends_INTERFACE_DEPENDENCIES WPEToolingBackends_CopyHeaders)
 
-add_custom_command(
-    OUTPUT ${DERIVED_SOURCES_WPETOOLINGBACKENDS_DIR}/xdg-shell-unstable-v6-protocol.c
-    MAIN_DEPENDENCY ${WAYLAND_PROTOCOLS_DATADIR}/unstable/xdg-shell/xdg-shell-unstable-v6.xml
-    DEPENDS ${DERIVED_SOURCES_WPETOOLINGBACKENDS_DIR}/xdg-shell-unstable-v6-client-protocol.h
-    COMMAND ${WAYLAND_SCANNER} code ${WAYLAND_PROTOCOLS_DATADIR}/unstable/xdg-shell/xdg-shell-unstable-v6.xml ${DERIVED_SOURCES_WPETOOLINGBACKENDS_DIR}/xdg-shell-unstable-v6-protocol.c
-    VERBATIM)
+WEBKIT_FRAMEWORK_DECLARE(WPEToolingBackends)
+WEBKIT_INCLUDE_CONFIG_FILES_IF_EXISTS()
 
-add_custom_command(
-    OUTPUT ${DERIVED_SOURCES_WPETOOLINGBACKENDS_DIR}/xdg-shell-unstable-v6-client-protocol.h
-    MAIN_DEPENDENCY ${WAYLAND_PROTOCOLS_DATADIR}/unstable/xdg-shell/xdg-shell-unstable-v6.xml
-    COMMAND ${WAYLAND_SCANNER} client-header ${WAYLAND_PROTOCOLS_DATADIR}/unstable/xdg-shell/xdg-shell-unstable-v6.xml ${DERIVED_SOURCES_WPETOOLINGBACKENDS_DIR}/xdg-shell-unstable-v6-client-protocol.h
-    VERBATIM)
+WEBKIT_COPY_FILES(WPEToolingBackends_CopyHeaders
+    DESTINATION ${WPEToolingBackends_FRAMEWORK_HEADERS_DIR}/WPEToolingBackends
+    FILES ${WPEToolingBackends_PUBLIC_HEADERS}
+    FLATTENED
+)
 
-if (ENABLE_ACCESSIBILITY)
-    add_definitions(-DHAVE_ACCESSIBILITY=1)
-    add_definitions(-DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_40)
-    list(APPEND WPEToolingBackends_LIBRARIES ATK::Bridge)
-endif ()
-
-add_library(WPEToolingBackends STATIC ${WPEToolingBackends_SOURCES})
-include_directories(${WPEToolingBackends_INCLUDE_DIRECTORIES})
-include_directories(SYSTEM ${WPEToolingBackends_SYSTEM_INCLUDE_DIRECTORIES})
-target_link_libraries(WPEToolingBackends ${WPEToolingBackends_LIBRARIES})
+WEBKIT_FRAMEWORK(WPEToolingBackends)
+WEBKIT_FRAMEWORK_TARGET(WPEToolingBackends)

Added: trunk/Tools/wpe/backends/PlatformWPE.cmake (0 => 287060)


--- trunk/Tools/wpe/backends/PlatformWPE.cmake	                        (rev 0)
+++ trunk/Tools/wpe/backends/PlatformWPE.cmake	2021-12-15 03:00:46 UTC (rev 287060)
@@ -0,0 +1,51 @@
+find_package(Libxkbcommon 0.4.0 REQUIRED)
+find_package(Wayland REQUIRED)
+find_package(WaylandProtocols 1.12 REQUIRED)
+find_package(WPEBackend_fdo 1.3.0 REQUIRED)
+
+list(APPEND WPEToolingBackends_PUBLIC_HEADERS
+    ${WPEToolingBackends_DERIVED_SOURCES_DIR}/xdg-shell-unstable-v6-client-protocol.h
+)
+
+list(APPEND WPEToolingBackends_SOURCES
+    ${WPEToolingBackends_DERIVED_SOURCES_DIR}/xdg-shell-unstable-v6-protocol.c
+)
+
+list(APPEND WPEToolingBackends_SYSTEM_INCLUDE_DIRECTORIES
+    ${ATK_INCLUDE_DIRS}
+    ${GLIB_INCLUDE_DIRS}
+    ${LIBEPOXY_INCLUDE_DIRS}
+    ${WPEBACKEND_FDO_INCLUDE_DIRS}
+)
+
+list(APPEND WPEToolingBackends_LIBRARIES
+    ${ATK_LIBRARIES}
+    ${GLIB_LIBRARIES}
+    ${LIBEPOXY_LIBRARIES}
+    ${LIBXKBCOMMON_LIBRARIES}
+    ${WAYLAND_LIBRARIES}
+    ${WPEBACKEND_FDO_LIBRARIES}
+)
+
+list(APPEND WPEToolingBackends_PRIVATE_DEFINITIONS ${LIBEPOXY_DEFINITIONS})
+
+add_custom_command(
+    OUTPUT ${WPEToolingBackends_DERIVED_SOURCES_DIR}/xdg-shell-unstable-v6-protocol.c
+    MAIN_DEPENDENCY ${WAYLAND_PROTOCOLS_DATADIR}/unstable/xdg-shell/xdg-shell-unstable-v6.xml
+    DEPENDS ${WPEToolingBackends_DERIVED_SOURCES_DIR}/xdg-shell-unstable-v6-client-protocol.h
+    COMMAND ${WAYLAND_SCANNER} code ${WAYLAND_PROTOCOLS_DATADIR}/unstable/xdg-shell/xdg-shell-unstable-v6.xml ${WPEToolingBackends_DERIVED_SOURCES_DIR}/xdg-shell-unstable-v6-protocol.c
+    VERBATIM)
+
+add_custom_command(
+    OUTPUT ${WPEToolingBackends_DERIVED_SOURCES_DIR}/xdg-shell-unstable-v6-client-protocol.h
+    MAIN_DEPENDENCY ${WAYLAND_PROTOCOLS_DATADIR}/unstable/xdg-shell/xdg-shell-unstable-v6.xml
+    COMMAND ${WAYLAND_SCANNER} client-header ${WAYLAND_PROTOCOLS_DATADIR}/unstable/xdg-shell/xdg-shell-unstable-v6.xml ${WPEToolingBackends_DERIVED_SOURCES_DIR}/xdg-shell-unstable-v6-client-protocol.h
+    VERBATIM)
+
+if (ENABLE_ACCESSIBILITY)
+    list(APPEND WPEToolingBackends_PRIVATE_DEFINITIONS
+        GLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_40
+        HAVE_ACCESSIBILITY=1
+    )
+    list(APPEND WPEToolingBackends_LIBRARIES ATK::Bridge)
+endif ()
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to