[CMake] Make WebCore headers copies
authordon.olmstead@sony.com <don.olmstead@sony.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 18 Apr 2019 23:20:26 +0000 (23:20 +0000)
committerdon.olmstead@sony.com <don.olmstead@sony.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 18 Apr 2019 23:20:26 +0000 (23:20 +0000)
commit08f5d25c28ab21983e4977806bfde47ec0d500d6
tree247081cc1edc14a9dfb058e9ece80164de697339
parent4d080c0b7e511e719b7c2a1781b4b49054c20c19
[CMake] Make WebCore headers copies
https://bugs.webkit.org/show_bug.cgi?id=182512
<rdar://problem/37510435>

Reviewed by Alex Christensen.

Source/WebCore:

The header copying is moved to a target WebCorePrivateFrameworkHeaders. This target was
originally Windows only but now this is enabled for all CMake based ports.

Enumerated all headers within WebCore that are used for WebKit(Legacy), tools and
tests. Shared headers are within Headers.cmake while port and platform specific headers
are in their respective CMake files. Listing out all headers is preferred because globbing
will break the build whenever a file is added.

All include directories within the WebCore source tree are now PRIVATE. They were
modified to use WebCore_PRIVATE_INCLUDE_DIRECTORIES. They will not propagate to other targets
which will prevent erroneous includes in targets dependent on WebCore.

* CMakeLists.txt:
* Headers.cmake: Added.
* PlatformAppleWin.cmake:
* PlatformGTK.cmake:
* PlatformMac.cmake:
* PlatformPlayStation.cmake:
* PlatformWPE.cmake:
* PlatformWin.cmake:
* PlatformWinCairo.cmake:
* platform/Cairo.cmake:
* platform/Curl.cmake:
* platform/FreeType.cmake:
* platform/GStreamer.cmake:
* platform/HolePunch.cmake:
* platform/ImageDecoders.cmake:
* platform/Soup.cmake: Added.
* platform/TextureMapper.cmake:

Source/WebKit:

WebCore now uses WebCore_PRIVATE_INCLUDE_DIRECTORIES for all ports. This revealed
problems with WebKit's usage of WebCore headers. All include directories directly
referencing the WebCore source tree we're removed from the CMake files. Any includes
of WebCore headers using "*.h" were modified to <WebCore/*.h>

Removed generation of forwarding headers for WebCore using the perl script.

* CMakeLists.txt:
* NetworkProcess/curl/NetworkDataTaskCurl.h:
* PlatformWPE.cmake:
* PlatformWin.cmake:
* Scripts/generate-forwarding-headers.pl:
* UIProcess/API/glib/WebKitUserContentFilterStore.cpp:
* UIProcess/API/wpe/WebKitColorPrivate.h:
* UIProcess/WebsiteData/win/WebsiteDataStoreWin.cpp:
* UIProcess/win/PageClientImpl.cpp:

Source/WebKitLegacy:

Added WebCorePrivateFrameworkHeaders as a dependency of WebKitLegacy for all
ports.

WebCore now uses WebCore_PRIVATE_INCLUDE_DIRECTORIES for all ports. This revealed
problems with WebKit's usage of WebCore headers. All include directories directly
referencing the WebCore source tree we're removed from the CMake files.

* CMakeLists.txt:
* PlatformWin.cmake:

Tools:

Added WebCorePrivateFrameworkHeaders as a dependency of TestWebKitAPI for all
ports.

WebCore now uses WebCore_PRIVATE_INCLUDE_DIRECTORIES for all ports. Any includes
of WebCore headers using "*.h" were modified to <WebCore/*.h>

* DumpRenderTree/TestNetscapePlugIn/CMakeLists.txt:
* DumpRenderTree/TestNetscapePlugIn/ForwardingHeaders/WebKit/npapi.h:
* DumpRenderTree/TestNetscapePlugIn/ForwardingHeaders/WebKit/npfunctions.h:
* DumpRenderTree/TestNetscapePlugIn/ForwardingHeaders/WebKit/npruntime.h:
* TestWebKitAPI/CMakeLists.txt:
* TestWebKitAPI/PlatformWin.cmake:
* TestWebKitAPI/Tests/WebCore/AbortableTaskQueue.cpp:
* TestWebKitAPI/Tests/WebCore/gstreamer/GstMappedBuffer.cpp:
* WebKitTestRunner/win/PlatformWebViewWin.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@244443 268f45cc-cd09-0410-ab3c-d52691b4dbfc
41 files changed:
Source/WebCore/CMakeLists.txt
Source/WebCore/ChangeLog
Source/WebCore/Headers.cmake [new file with mode: 0644]
Source/WebCore/PlatformAppleWin.cmake
Source/WebCore/PlatformGTK.cmake
Source/WebCore/PlatformMac.cmake
Source/WebCore/PlatformPlayStation.cmake
Source/WebCore/PlatformWPE.cmake
Source/WebCore/PlatformWin.cmake
Source/WebCore/PlatformWinCairo.cmake
Source/WebCore/platform/Cairo.cmake
Source/WebCore/platform/Curl.cmake
Source/WebCore/platform/FreeType.cmake
Source/WebCore/platform/GStreamer.cmake
Source/WebCore/platform/HolePunch.cmake
Source/WebCore/platform/ImageDecoders.cmake
Source/WebCore/platform/Soup.cmake [new file with mode: 0644]
Source/WebCore/platform/TextureMapper.cmake
Source/WebKit/CMakeLists.txt
Source/WebKit/ChangeLog
Source/WebKit/NetworkProcess/curl/NetworkDataTaskCurl.h
Source/WebKit/PlatformWPE.cmake
Source/WebKit/PlatformWin.cmake
Source/WebKit/Scripts/generate-forwarding-headers.pl
Source/WebKit/UIProcess/API/glib/WebKitUserContentFilterStore.cpp
Source/WebKit/UIProcess/API/wpe/WebKitColorPrivate.h
Source/WebKit/UIProcess/WebsiteData/win/WebsiteDataStoreWin.cpp
Source/WebKit/UIProcess/win/PageClientImpl.cpp
Source/WebKitLegacy/CMakeLists.txt
Source/WebKitLegacy/ChangeLog
Source/WebKitLegacy/PlatformWin.cmake
Tools/ChangeLog
Tools/DumpRenderTree/TestNetscapePlugIn/CMakeLists.txt
Tools/DumpRenderTree/TestNetscapePlugIn/ForwardingHeaders/WebKit/npapi.h
Tools/DumpRenderTree/TestNetscapePlugIn/ForwardingHeaders/WebKit/npfunctions.h
Tools/DumpRenderTree/TestNetscapePlugIn/ForwardingHeaders/WebKit/npruntime.h
Tools/TestWebKitAPI/CMakeLists.txt
Tools/TestWebKitAPI/PlatformWin.cmake
Tools/TestWebKitAPI/Tests/WebCore/AbortableTaskQueue.cpp
Tools/TestWebKitAPI/Tests/WebCore/gstreamer/GstMappedBuffer.cpp
Tools/WebKitTestRunner/win/PlatformWebViewWin.cpp