Title: [267399] trunk
Revision
267399
Author
[email protected]
Date
2020-09-21 23:52:15 -0700 (Mon, 21 Sep 2020)

Log Message

[CMake] Use imported targets in find module for the ATK SPI2 bridge dependency
https://bugs.webkit.org/show_bug.cgi?id=216773

Reviewed by Don Olmstead.

.:

* Source/cmake/FindATKBridge.cmake: Rewrite to define an ATK::Bridge imported target.
* Source/cmake/OptionsWPE.cmake: Use the ATK::Bridge imported target.

Source/WebKit:

No new tests needed.

* PlatformWPE.cmake: Use the ATK::Bridge imported target.

Tools:

* wpe/backends/CMakeLists.txt: Use the ATK::Bridge imported target.

Modified Paths

Diff

Modified: trunk/ChangeLog (267398 => 267399)


--- trunk/ChangeLog	2020-09-22 06:08:19 UTC (rev 267398)
+++ trunk/ChangeLog	2020-09-22 06:52:15 UTC (rev 267399)
@@ -1,3 +1,13 @@
+2020-09-21  Adrian Perez de Castro  <[email protected]>
+
+        [CMake] Use imported targets in find module for the ATK SPI2 bridge dependency
+        https://bugs.webkit.org/show_bug.cgi?id=216773
+
+        Reviewed by Don Olmstead.
+
+        * Source/cmake/FindATKBridge.cmake: Rewrite to define an ATK::Bridge imported target.
+        * Source/cmake/OptionsWPE.cmake: Use the ATK::Bridge imported target.
+
 2020-09-16  Fujii Hironori  <[email protected]>
 
         [CMake] Add a new library target TestRunnerShared

Modified: trunk/Source/WebKit/ChangeLog (267398 => 267399)


--- trunk/Source/WebKit/ChangeLog	2020-09-22 06:08:19 UTC (rev 267398)
+++ trunk/Source/WebKit/ChangeLog	2020-09-22 06:52:15 UTC (rev 267399)
@@ -1,5 +1,16 @@
 2020-09-21  Adrian Perez de Castro  <[email protected]>
 
+        [CMake] Use imported targets in find module for the ATK SPI2 bridge dependency
+        https://bugs.webkit.org/show_bug.cgi?id=216773
+
+        Reviewed by Don Olmstead.
+
+        No new tests needed.
+
+        * PlatformWPE.cmake: Use the ATK::Bridge imported target.
+
+2020-09-21  Adrian Perez de Castro  <[email protected]>
+
         [GTK] Bump cairo version to support HiDPI
         https://bugs.webkit.org/show_bug.cgi?id=133378
 

Modified: trunk/Source/WebKit/PlatformWPE.cmake (267398 => 267399)


--- trunk/Source/WebKit/PlatformWPE.cmake	2020-09-22 06:08:19 UTC (rev 267398)
+++ trunk/Source/WebKit/PlatformWPE.cmake	2020-09-22 06:52:15 UTC (rev 267399)
@@ -278,7 +278,6 @@
 
 list(APPEND WebKit_SYSTEM_INCLUDE_DIRECTORIES
     ${ATK_INCLUDE_DIRS}
-    ${ATK_BRIDGE_INCLUDE_DIRS}
     ${GIO_UNIX_INCLUDE_DIRS}
     ${GLIB_INCLUDE_DIRS}
     ${LIBSOUP_INCLUDE_DIRS}
@@ -285,6 +284,7 @@
 )
 
 list(APPEND WebKit_LIBRARIES
+    ATK::Bridge
     Cairo::Cairo
     Freetype::Freetype
     HarfBuzz::HarfBuzz
@@ -291,7 +291,6 @@
     HarfBuzz::ICU
     WPE::libwpe
     ${ATK_LIBRARIES}
-    ${ATK_BRIDGE_LIBRARIES}
     ${GLIB_LIBRARIES}
     ${GLIB_GMODULE_LIBRARIES}
     ${LIBSOUP_LIBRARIES}

Modified: trunk/Source/cmake/FindATKBridge.cmake (267398 => 267399)


--- trunk/Source/cmake/FindATKBridge.cmake	2020-09-22 06:08:19 UTC (rev 267398)
+++ trunk/Source/cmake/FindATKBridge.cmake	2020-09-22 06:52:15 UTC (rev 267399)
@@ -1,11 +1,5 @@
-# - Try to find ATK
-# Once done, this will define
+# Copyright (C) 2019, 2020 Igalia S.L.
 #
-#  ATK_BRIDGE_INCLUDE_DIRS - the ATK bridge include drectories
-#  ATK_BRIDGE_LIBRARIES - link these to use ATK bridge
-#
-# Copyright (C) 2019 Igalia S.L.
-#
 # Redistribution and use in source and binary forms, with or without
 # modification, are permitted provided that the following conditions
 # are met:
@@ -27,26 +21,72 @@
 # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
 # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+#[=======================================================================[.rst:
+FindATKBridge
+-------------
+
+Find the ATK-SPI2 bridge headers and libraries.
+
+Imported Targets
+^^^^^^^^^^^^^^^^
+
+``ATK::Bridge``
+  The ATK SPI2 bridge library, if found.
+
+Result Variables
+^^^^^^^^^^^^^^^^
+
+This will define the following variables in your project:
+
+``ATKBridge_FOUND``
+  true if (the requested version of) the ATK SPI2 bridge is available.
+``ATKBridge_VERSION``
+  the version of the ATK SPI2 bridge.
+``ATKBridge_LIBRARIES``
+  the libraries to link against to use the ATK SPI2 bridge.
+``ATKBridge_INCLUDE_DIRS``
+  where to find the ATK SPI2 bridge headers.
+``ATKBridge_COMPILE_OPTIONS``
+  this should be passed to target_compile_options(), if the target
+  is not used for linking.
+
+#]=======================================================================]
+
 find_package(PkgConfig QUIET)
-pkg_check_modules(PC_ATK_BRIDGE atk-bridge-2.0)
+pkg_check_modules(PC_ATK_BRIDGE QUIET atk-bridge-2.0)
+set(ATKBridge_COMPILE_OPTIONS ${PC_ATK_BRIDGE_CFLAGS_OTHER})
+set(ATKBridge_VERSION ${PC_ATK_BRIDGE_VERSION})
 
-find_path(ATK_BRIDGE_INCLUDE_DIRS
+find_path(ATKBridge_INCLUDE_DIR
     NAMES atk-bridge.h
-    HINTS ${PC_ATK_BRIDGE_INCLUDEDIR}
-          ${PC_ATK_BRIDGE_INCLUDE_DIRS}
+    HINTS ${PC_ATK_BRIDGE_INCLUDEDIR} ${PC_ATK_BRIDGE_INCLUDE_DIR}
     PATH_SUFFIXES at-spi2-atk/2.0
 )
 
-find_library(ATK_BRIDGE_LIBRARIES
-    NAMES atk-bridge-2.0
-    HINTS ${PC_ATK_BRIDGE_LIBRARY_DIRS}
-          ${PC_ATK_BRIDGE_LIBDIR}
+find_library(ATKBridge_LIBRARY
+    NAMES ${ATKBridge_NAMES} atk-bridge-2.0
+    HINTS ${PC_ATK_BRIDGE_LIBDIR} ${PC_ATK_BRIDGE_LIBRARY_DIRS}
 )
 
 include(FindPackageHandleStandardArgs)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(ATK_BRIDGE REQUIRED_VARS ATK_BRIDGE_INCLUDE_DIRS ATK_BRIDGE_LIBRARIES
-                                      VERSION_VAR   PC_ATK_BRIDGE_VERSION)
-mark_as_advanced(
-    ATK_BRIDGE_INCLUDE_DIRS
-    ATK_BRIDGE_LIBRARIES
+find_package_handle_standard_args(ATKBridge
+    FOUND_VAR ATKBridge_FOUND
+    REQUIRED_VARS ATKBridge_LIBRARY ATKBridge_INCLUDE_DIR
+    VERSION_VAR ATKBridge_VERSION
 )
+
+if (ATKBridge_LIBRARY AND NOT TARGET ATK::Bridge)
+    add_library(ATK::Bridge UNKNOWN IMPORTED GLOBAL)
+    set_target_properties(ATK::Bridge PROPERTIES
+        IMPORTED_LOCATION "${ATKBridge_LIBRARY}"
+        INTERFACE_COMPILE_OPTIONS "${ATKBridge_COMPILE_OPTIONS}"
+        INTERFACE_INCLUDE_DIRECTORIES "${ATKBridge_INCLUDE_DIR}"
+    )
+endif ()
+
+mark_as_advanced(ATKBridge_INCLUDE_DIR ATKBridge_LIBRARY)
+
+if (ATKBridge_FOUND)
+    set(ATKBridge_LIBRARIES ${ATKBridge_LIBRARY})
+    set(ATKBridge_INCLUDE_DIRS ${ATKBridge_INCLUDE_DIR})
+endif ()

Modified: trunk/Source/cmake/OptionsWPE.cmake (267398 => 267399)


--- trunk/Source/cmake/OptionsWPE.cmake	2020-09-22 06:08:19 UTC (rev 267398)
+++ trunk/Source/cmake/OptionsWPE.cmake	2020-09-22 06:52:15 UTC (rev 267399)
@@ -133,7 +133,7 @@
         message(FATAL_ERROR "atk is needed for ENABLE_ACCESSIBILITY")
     endif ()
     find_package(ATKBridge)
-    if (NOT ATK_BRIDGE_FOUND)
+    if (NOT ATKBridge_FOUND)
         message(FATAL_ERROR "at-spi2-atk is needed for ENABLE_ACCESSIBILITY")
     endif ()
 endif ()

Modified: trunk/Tools/ChangeLog (267398 => 267399)


--- trunk/Tools/ChangeLog	2020-09-22 06:08:19 UTC (rev 267398)
+++ trunk/Tools/ChangeLog	2020-09-22 06:52:15 UTC (rev 267399)
@@ -1,3 +1,12 @@
+2020-09-21  Adrian Perez de Castro  <[email protected]>
+
+        [CMake] Use imported targets in find module for the ATK SPI2 bridge dependency
+        https://bugs.webkit.org/show_bug.cgi?id=216773
+
+        Reviewed by Don Olmstead.
+
+        * wpe/backends/CMakeLists.txt: Use the ATK::Bridge imported target.
+
 2020-09-21  Jonathan Bedard  <[email protected]>
 
         [webkitpy] Use webkitcorepy's auto installer for pytest packages

Modified: trunk/Tools/wpe/backends/CMakeLists.txt (267398 => 267399)


--- trunk/Tools/wpe/backends/CMakeLists.txt	2020-09-22 06:08:19 UTC (rev 267398)
+++ trunk/Tools/wpe/backends/CMakeLists.txt	2020-09-22 06:52:15 UTC (rev 267399)
@@ -21,7 +21,6 @@
 
 set(WPEToolingBackends_SYSTEM_INCLUDE_DIRECTORIES
     ${ATK_INCLUDE_DIRS}
-    ${ATK_BRIDGE_INCLUDE_DIRS}
     ${GLIB_INCLUDE_DIRS}
     ${LIBEPOXY_INCLUDE_DIRS}
     ${WPEBACKEND_FDO_INCLUDE_DIRS}
@@ -28,10 +27,10 @@
 )
 
 set(WPEToolingBackends_LIBRARIES
+    ATK::Bridge
     Cairo::Cairo
     WPE::libwpe
     ${ATK_LIBRARIES}
-    ${ATK_BRIDGE_LIBRARIES}
     ${GLIB_LIBRARIES}
     ${LIBEPOXY_LIBRARIES}
     ${LIBXKBCOMMON_LIBRARIES}
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to