Title: [275602] trunk
Revision
275602
Author
[email protected]
Date
2021-04-07 05:09:36 -0700 (Wed, 07 Apr 2021)

Log Message

[CMake] Add WebKit::gtest target
https://bugs.webkit.org/show_bug.cgi?id=224203

Reviewed by Adrian Perez de Castro.

Source/ThirdParty:

Create a WebKit::gtest target that propagates the include directories and required
preprocessor directives to dependencies.

Use Modern CMake functions for describing the target.

* gtest/CMakeLists.txt:
* gtest/PlatformPlayStation.cmake:

Tools:

Use the WebKit::gtest target. Remove uses of ${THIRDPARTY_DIR}/gtest/include since the
target propagates those. Also remove the hack to get gtest definitions.

Don't include gtest with the TestJSC executable since it just uses GLib's testing
capabilities.

* TestWebKitAPI/CMakeLists.txt:
* TestWebKitAPI/PlatformGTK.cmake:
* TestWebKitAPI/PlatformWPE.cmake:
* TestWebKitAPI/config.h:

Modified Paths

Diff

Modified: trunk/Source/ThirdParty/ChangeLog (275601 => 275602)


--- trunk/Source/ThirdParty/ChangeLog	2021-04-07 11:38:15 UTC (rev 275601)
+++ trunk/Source/ThirdParty/ChangeLog	2021-04-07 12:09:36 UTC (rev 275602)
@@ -1,3 +1,18 @@
+2021-04-07  Don Olmstead  <[email protected]>
+
+        [CMake] Add WebKit::gtest target
+        https://bugs.webkit.org/show_bug.cgi?id=224203
+
+        Reviewed by Adrian Perez de Castro.
+
+        Create a WebKit::gtest target that propagates the include directories and required
+        preprocessor directives to dependencies.
+
+        Use Modern CMake functions for describing the target.
+
+        * gtest/CMakeLists.txt:
+        * gtest/PlatformPlayStation.cmake:
+
 2021-03-23  Ross Kirsling  <[email protected]>
 
         Update googletest to 1a8ecf1

Modified: trunk/Source/ThirdParty/gtest/CMakeLists.txt (275601 => 275602)


--- trunk/Source/ThirdParty/gtest/CMakeLists.txt	2021-04-07 11:38:15 UTC (rev 275601)
+++ trunk/Source/ThirdParty/gtest/CMakeLists.txt	2021-04-07 12:09:36 UTC (rev 275602)
@@ -21,7 +21,7 @@
     ${GTEST_DIR}/src/gtest-typed-test.cc
 )
 
-set(gtest_DEFINITIONS -DGTEST_HAS_RTTI=0)
+set(gtest_DEFINITIONS GTEST_HAS_RTTI=0)
 
 # Additional gtest configuration can be added in the port's cmake file
 WEBKIT_INCLUDE_CONFIG_FILES_IF_EXISTS()
@@ -32,14 +32,14 @@
 endif ()
 
 if (gtest_LIBRARY_TYPE MATCHES SHARED)
-    list(APPEND gtest_DEFINITIONS -DGTEST_CREATE_SHARED_LIBRARY=1)
+    list(APPEND gtest_DEFINITIONS GTEST_CREATE_SHARED_LIBRARY=1)
     add_library(gtest SHARED ${GTEST_SOURCES})
 else ()
-    list(APPEND gtest_DEFINITIONS -DGTEST_CREATE_SHARED_LIBRARY=0)
+    list(APPEND gtest_DEFINITIONS GTEST_CREATE_SHARED_LIBRARY=0)
     add_library(gtest STATIC ${GTEST_SOURCES})
 endif ()
 
-include_directories(${GTEST_INCLUDE_DIRECTORIES})
+target_include_directories(gtest PRIVATE ${GTEST_INCLUDE_DIRECTORIES})
 
 WEBKIT_ADD_TARGET_CXX_FLAGS(gtest -Wno-undef
                                   -Wno-stringop-truncation
@@ -46,13 +46,16 @@
                                   -Wno-suggest-attribute=format)
 
 if (CMAKE_USE_PTHREADS_INIT)
-    target_link_libraries(gtest ${CMAKE_THREAD_LIBS_INIT})
-    list(APPEND gtest_DEFINITIONS -DGTEST_HAS_PTHREAD=1)
+    target_link_libraries(gtest PRIVATE ${CMAKE_THREAD_LIBS_INIT})
+    list(APPEND gtest_DEFINITIONS GTEST_HAS_PTHREAD=1)
 else ()
-    list(APPEND gtest_DEFINITIONS -DGTEST_HAS_PTHREAD=0)
+    list(APPEND gtest_DEFINITIONS GTEST_HAS_PTHREAD=0)
 endif ()
+target_compile_definitions(gtest PRIVATE ${gtest_DEFINITIONS})
 
-add_definitions(${gtest_DEFINITIONS})
+add_library(gtestFramework INTERFACE)
+target_link_libraries(gtestFramework INTERFACE gtest)
+target_include_directories(gtestFramework INTERFACE "${GTEST_DIR}/include")
+target_compile_definitions(gtestFramework INTERFACE ${gtest_DEFINITIONS})
 
-# Create a global property so it can be accessed in TestWebKitAPI
-set_property(GLOBAL PROPERTY gtest_DEFINITIONS ${gtest_DEFINITIONS})
+add_library(WebKit::gtest ALIAS gtestFramework)

Modified: trunk/Source/ThirdParty/gtest/PlatformPlayStation.cmake (275601 => 275602)


--- trunk/Source/ThirdParty/gtest/PlatformPlayStation.cmake	2021-04-07 11:38:15 UTC (rev 275601)
+++ trunk/Source/ThirdParty/gtest/PlatformPlayStation.cmake	2021-04-07 12:09:36 UTC (rev 275602)
@@ -1,8 +1,8 @@
 set(gtest_LIBRARY_TYPE STATIC)
 
 list(APPEND gtest_DEFINITIONS
-    -DGTEST_HAS_POSIX_RE=0
-    -DGTEST_HAS_TR1_TUPLE=0
+    GTEST_HAS_POSIX_RE=0
+    GTEST_HAS_TR1_TUPLE=0
 )
 
 # localtime_r isn't available so map to localtime_s

Modified: trunk/Tools/ChangeLog (275601 => 275602)


--- trunk/Tools/ChangeLog	2021-04-07 11:38:15 UTC (rev 275601)
+++ trunk/Tools/ChangeLog	2021-04-07 12:09:36 UTC (rev 275602)
@@ -1,3 +1,21 @@
+2021-04-07  Don Olmstead  <[email protected]>
+
+        [CMake] Add WebKit::gtest target
+        https://bugs.webkit.org/show_bug.cgi?id=224203
+
+        Reviewed by Adrian Perez de Castro.
+
+        Use the WebKit::gtest target. Remove uses of ${THIRDPARTY_DIR}/gtest/include since the
+        target propagates those. Also remove the hack to get gtest definitions.
+
+        Don't include gtest with the TestJSC executable since it just uses GLib's testing
+        capabilities.
+
+        * TestWebKitAPI/CMakeLists.txt:
+        * TestWebKitAPI/PlatformGTK.cmake:
+        * TestWebKitAPI/PlatformWPE.cmake:
+        * TestWebKitAPI/config.h:
+
 2021-04-07  Philippe Normand  <[email protected]>
 
         [GStreamer] Videos start playing muted in epiphany with no unmute icon visible in tab, webkit_web_view_get_is_muted() returns incorrect results

Modified: trunk/Tools/TestWebKitAPI/CMakeLists.txt (275601 => 275602)


--- trunk/Tools/TestWebKitAPI/CMakeLists.txt	2021-04-07 11:38:15 UTC (rev 275601)
+++ trunk/Tools/TestWebKitAPI/CMakeLists.txt	2021-04-07 12:09:36 UTC (rev 275602)
@@ -1,8 +1,5 @@
 set(TESTWEBKITAPI_DIR "${TOOLS_DIR}/TestWebKitAPI")
 
-get_property(gtest_DEFINITIONS GLOBAL PROPERTY gtest_DEFINITIONS)
-add_definitions(${gtest_DEFINITIONS})
-
 macro(WEBKIT_TEST _target)
     WEBKIT_EXECUTABLE(${_target})
     add_test(${_target} ${TESTWEBKITAPI_RUNTIME_OUTPUT_DIRECTORY}/${_target})
@@ -117,11 +114,10 @@
 set(TestWTF_PRIVATE_INCLUDE_DIRECTORIES
     ${CMAKE_BINARY_DIR}
     ${TESTWEBKITAPI_DIR}
-    ${THIRDPARTY_DIR}/gtest/include
 )
 
 set(TestWTF_LIBRARIES
-    gtest
+    WebKit::gtest
 )
 
 set(TestWTF_FRAMEWORKS
@@ -145,7 +141,7 @@
     )
 
     set(TestJavaScriptCore_LIBRARIES
-        gtest
+        WebKit::gtest
     )
     set(TestJavaScriptCore_FRAMEWORKS
         _javascript_Core
@@ -155,7 +151,6 @@
     set(TestJavaScriptCore_PRIVATE_INCLUDE_DIRECTORIES
         ${CMAKE_BINARY_DIR}
         ${TESTWEBKITAPI_DIR}
-        ${THIRDPARTY_DIR}/gtest/include
     )
 
     WEBKIT_EXECUTABLE_DECLARE(TestJavaScriptCore)
@@ -198,7 +193,7 @@
     )
 
     set(TestWebCore_LIBRARIES
-        gtest
+        WebKit::gtest
     )
     set(TestWebCore_FRAMEWORKS
         PAL
@@ -208,9 +203,6 @@
     set(TestWebCore_PRIVATE_INCLUDE_DIRECTORIES
         ${CMAKE_BINARY_DIR}
         ${TESTWEBKITAPI_DIR}
-        ${THIRDPARTY_DIR}/gtest/include
-        ${PAL_FRAMEWORK_HEADERS_DIR}
-        ${WebCore_PRIVATE_FRAMEWORK_HEADERS_DIR}
     )
 
     WEBKIT_EXECUTABLE_DECLARE(TestWebCore)
@@ -224,7 +216,7 @@
     )
 
     set(TestWebKitLegacy_LIBRARIES
-        gtest
+        WebKit::gtest
     )
     if (NOT APPLE)
         list(APPEND TestWebKitLegacy_LIBRARIES
@@ -235,7 +227,6 @@
     set(TestWebKitLegacy_PRIVATE_INCLUDE_DIRECTORIES
         ${CMAKE_BINARY_DIR}
         ${TESTWEBKITAPI_DIR}
-        ${THIRDPARTY_DIR}/gtest/include
         ${PAL_FRAMEWORK_HEADERS_DIR}
         ${WebCore_PRIVATE_FRAMEWORK_HEADERS_DIR}
         ${WebKitLegacy_FRAMEWORK_HEADERS_DIR}
@@ -304,9 +295,8 @@
     set(TestWebKit_PRIVATE_INCLUDE_DIRECTORIES
         ${CMAKE_BINARY_DIR}
         ${_javascript_Core_PRIVATE_FRAMEWORK_HEADERS_DIR}
+        ${PAL_FRAMEWORK_HEADERS_DIR}
         ${TESTWEBKITAPI_DIR}
-        ${THIRDPARTY_DIR}/gtest/include
-        ${PAL_FRAMEWORK_HEADERS_DIR}
         ${WebCore_PRIVATE_FRAMEWORK_HEADERS_DIR}
         ${WebKit_FRAMEWORK_HEADERS_DIR}
     )
@@ -313,7 +303,7 @@
 
     set(TestWebKit_LIBRARIES
         TestWebKitAPIBase
-        gtest
+        WebKit::gtest
     )
     set(TestWebKit_FRAMEWORKS
         WebKit
@@ -331,7 +321,7 @@
     )
     target_compile_definitions(TestWebKitAPIBase PRIVATE BUILDING_TestWebKit)
     target_include_directories(TestWebKitAPIBase PRIVATE ${TestWebKit_PRIVATE_INCLUDE_DIRECTORIES})
-    target_link_libraries(TestWebKitAPIBase PRIVATE WebKit::WebKit gtest)
+    target_link_libraries(TestWebKitAPIBase PRIVATE WebKit::WebKit WebKit::gtest)
 
     if (COMPILER_IS_GCC_OR_CLANG)
         WEBKIT_ADD_TARGET_CXX_FLAGS(TestWebKitAPIBase -Wno-dangling-else
@@ -383,7 +373,7 @@
 
     target_compile_definitions(TestWebKitAPIInjectedBundle PRIVATE BUILDING_TestWebKit)
     target_include_directories(TestWebKitAPIInjectedBundle PRIVATE ${TestWebKit_PRIVATE_INCLUDE_DIRECTORIES})
-    target_link_libraries(TestWebKitAPIInjectedBundle PRIVATE WebKit::WebKit)
+    target_link_libraries(TestWebKitAPIInjectedBundle PRIVATE WebKit::WebKit WebKit::gtest)
 
     if (COMPILER_IS_GCC_OR_CLANG)
         WEBKIT_ADD_TARGET_CXX_FLAGS(TestWebKitAPIInjectedBundle -Wno-dangling-else

Modified: trunk/Tools/TestWebKitAPI/PlatformGTK.cmake (275601 => 275602)


--- trunk/Tools/TestWebKitAPI/PlatformGTK.cmake	2021-04-07 11:38:15 UTC (rev 275601)
+++ trunk/Tools/TestWebKitAPI/PlatformGTK.cmake	2021-04-07 12:09:36 UTC (rev 275602)
@@ -103,7 +103,6 @@
 set(TestJSC_PRIVATE_INCLUDE_DIRECTORIES
     ${CMAKE_BINARY_DIR}
     ${TESTWEBKITAPI_DIR}
-    ${THIRDPARTY_DIR}/gtest/include
 )
 
 set(TestJSC_LIBRARIES

Modified: trunk/Tools/TestWebKitAPI/PlatformWPE.cmake (275601 => 275602)


--- trunk/Tools/TestWebKitAPI/PlatformWPE.cmake	2021-04-07 11:38:15 UTC (rev 275601)
+++ trunk/Tools/TestWebKitAPI/PlatformWPE.cmake	2021-04-07 12:09:36 UTC (rev 275602)
@@ -106,7 +106,6 @@
 set(TestJSC_PRIVATE_INCLUDE_DIRECTORIES
     ${CMAKE_BINARY_DIR}
     ${TESTWEBKITAPI_DIR}
-    ${THIRDPARTY_DIR}/gtest/include
 )
 
 set(TestJSC_LIBRARIES

Modified: trunk/Tools/TestWebKitAPI/config.h (275601 => 275602)


--- trunk/Tools/TestWebKitAPI/config.h	2021-04-07 11:38:15 UTC (rev 275601)
+++ trunk/Tools/TestWebKitAPI/config.h	2021-04-07 12:09:36 UTC (rev 275602)
@@ -89,7 +89,10 @@
 #endif
 
 #ifdef __cplusplus
+// The TestJSC executable doesn't use gtest it uses glib's testing
+#if !defined(BUILDING_TestJSC)
 #include <gtest/gtest.h>
+#endif
 #include <wtf/Assertions.h>
 #undef new
 #undef delete
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to