Source/WebCore/ChangeLog

 12018-04-01 Fujii Hironori <Hironori.Fujii@sony.com>
 2
 3 [CMake] WebKit should link to WebCore as a PRIVATE library if WebCore is a static library
 4 https://bugs.webkit.org/show_bug.cgi?id=184127
 5
 6 Reviewed by NOBODY (OOPS!).
 7
 8 No new tests (No behaviour changes).
 9
 10 * CMakeLists.txt: Added a interface library WebCoreHeaderInterface.
 11
1122018-03-28 Said Abou-Hallawa <sabouhallawa@apple.com>
213
314 The SVGAnimatedProperty wrappers have to be detached from the referenced values before the SVGAnimatedType is deleted

Source/WebKit/ChangeLog

 12018-04-01 Fujii Hironori <Hironori.Fujii@sony.com>
 2
 3 [CMake] WebKit should link to WebCore as a PRIVATE library if WebCore is a static library
 4 https://bugs.webkit.org/show_bug.cgi?id=184127
 5
 6 Reviewed by NOBODY (OOPS!).
 7
 8 * CMakeLists.txt: Link WebCore to WebKit as a private library.
 9 Link WebCoreHeaderInterface to WebKit as as public library.
 10 * PlatformGTK.cmake: Added ${WebKit_PRIVATE_LIBRARIES} to SharedWebKitLibraries.
 11
1122018-03-28 Zalan Bujtas <zalan@apple.com>
213
314 Make it possible to override the screen size

Source/WebCore/CMakeLists.txt

@@if (CMAKE_COMPILER_IS_GNUCXX AND "${LOWERCASE_CMAKE_HOST_SYSTEM_PROCESSOR}" MATC
19491949 WEBKIT_ADD_TARGET_CXX_FLAGS(WebCore -fno-tree-sra)
19501950endif ()
19511951
 1952# Include paths of WebCore doesn't propagate to targets using WebKit
 1953# because WebCore is linked to WebKit as a PRIVATE library. Forwarding
 1954# headers generated by generate-forwarding-headers.pl needs include
 1955# paths of WebCore.
 1956add_library(WebCoreHeaderInterface INTERFACE)
 1957target_include_directories(WebCoreHeaderInterface INTERFACE ${WebCore_INCLUDE_DIRECTORIES})
 1958target_link_libraries(WebCoreHeaderInterface INTERFACE ${WebCore_LIBRARIES})
 1959
19521960if (MSVC)
19531961 WEBKIT_ADD_PRECOMPILED_HEADER("WebCoreTestSupportPrefix.h" "testing/js/WebCoreTestSupportPrefix.cpp" WebCoreTestSupport_SOURCES)
19541962endif ()

@@if (ENABLE_GRAPHICS_CONTEXT_3D AND NOT WIN32)
19831991 "${THIRDPARTY_DIR}/ANGLE/src"
19841992 "${THIRDPARTY_DIR}/ANGLE/src/common/third_party/base"
19851993 )
1986  list(APPEND WebCore_LIBRARIES ANGLESupport)
 1994 target_link_libraries(WebCore PUBLIC ANGLESupport)
19871995
19881996 if (COMPILER_IS_GCC_OR_CLANG)
19891997 WEBKIT_ADD_TARGET_CXX_FLAGS(ANGLESupport -Wno-implicit-fallthrough

@@if (ENABLE_GRAPHICS_CONTEXT_3D AND NOT WIN32)
19952003 endif ()
19962004endif ()
19972005
1998 target_link_libraries(WebCore ${WebCore_LIBRARIES})
19992006
20002007if (${WebCore_LIBRARY_TYPE} MATCHES "SHARED")
20012008 set_target_properties(WebCore PROPERTIES VERSION ${PROJECT_VERSION} SOVERSION ${PROJECT_VERSION_MAJOR})

Source/WebKit/CMakeLists.txt

@@set(WebKit_MESSAGES_IN_FILES
710710)
711711
712712set(WebKit_LIBRARIES
713  WebCore
 713 WebCoreHeaderInterface
714714)
715715
 716if (${WebCore_LIBRARY_TYPE} STREQUAL STATIC)
 717 set(WebKit_PRIVATE_LIBRARIES WebCore)
 718else ()
 719 # All users of WebKit need to link WebCore if WebCore is a shared library
 720 list(APPEND WebKit_LIBRARIES WebCore)
 721endif ()
 722
716723set(WebProcess_LIBRARIES
717724 WebKit
718725)

Source/WebKit/PlatformGTK.cmake

@@list(APPEND StorageProcess_SOURCES
454454
455455set(SharedWebKitLibraries
456456 ${WebKit_LIBRARIES}
 457 ${WebKit_PRIVATE_LIBRARIES}
457458)
458459
459460
460 list(APPEND WebKit_LIBRARIES
 461list(APPEND WebKit_PRIVATE_LIBRARIES
461462 # WebCore should be specifed before and after WebCorePlatformGTK
462463 WebCorePlatformGTK WebCore
463464 ${GTK_UNIX_PRINT_LIBRARIES}

Source/cmake/WebKitMacros.cmake

@@macro(WEBKIT_FRAMEWORK _target)
136136 target_include_directories(${_target} PUBLIC "$<BUILD_INTERFACE:${${_target}_INCLUDE_DIRECTORIES}>")
137137 target_include_directories(${_target} SYSTEM PRIVATE "$<BUILD_INTERFACE:${${_target}_SYSTEM_INCLUDE_DIRECTORIES}>")
138138 target_include_directories(${_target} PRIVATE "$<BUILD_INTERFACE:${${_target}_PRIVATE_INCLUDE_DIRECTORIES}>")
139  target_link_libraries(${_target} ${${_target}_LIBRARIES})
 139 target_link_libraries(${_target} PUBLIC ${${_target}_LIBRARIES})
 140 target_link_libraries(${_target} PRIVATE ${${_target}_PRIVATE_LIBRARIES})
140141 set_target_properties(${_target} PROPERTIES COMPILE_DEFINITIONS "BUILDING_${_target}")
141142
142143 if (${_target}_OUTPUT_NAME)

ChangeLog

 12018-04-01 Fujii Hironori <Hironori.Fujii@sony.com>
 2
 3 [CMake] WebKit should link to WebCore as a PRIVATE library if WebCore is a static library
 4 https://bugs.webkit.org/show_bug.cgi?id=184127
 5
 6 Reviewed by NOBODY (OOPS!).
 7
 8 Building TestWebKitLib on Windows causes a linkage error of
 9 multiply defined symbols because TestWebKitLib links to
 10 both WebCore and WebKit. TestWebKitLib explicitly links only with
 11 WebKit, But, WebCore is propagated because WebKit links WebCore as
 12 public.
 13
 14 * Source/cmake/WebKitMacros.cmake (WEBKIT_FRAMEWORK):
 15 Link ${_target}_LIBRARIES as public libraries.
 16 Added a new variable ${_target}_PRIVATE_LIBRARIES, and link them as private libraries.
 17
1182018-03-28 Tim Horton <timothy_horton@apple.com>
219
320 Make it possible to disable building the tools with Make