- Revision
- 243746
- Author
- hironori.fu...@sony.com
- Date
- 2019-04-02 09:33:02 -0700 (Tue, 02 Apr 2019)
Log Message
[CMake] WEBKIT_MAKE_FORWARDING_HEADERS shouldn't use POST_BUILD to copy generated headers
https://bugs.webkit.org/show_bug.cgi?id=182757
Reviewed by Don Olmstead.
.:
Some generated headers need to be exported to its client modules.
Before this change, WEBKIT_MAKE_FORWARDING_HEADERS copies all *.h
files in the directory specified by DERIVED_SOURCE_DIRECTORIES
parameter. The copy operation was triggered by POST_BUILD event.
This caused build dependency issues for Ninja builds. This change
remove the DERIVED_SOURCE_DIRECTORIES parameter. And list all
generated headers explicitly which need to be copied.
* Source/cmake/WebKitMacros.cmake: Removed
DERIVED_SOURCE_DIRECTORIES parameter of
WEBKIT_MAKE_FORWARDING_HEADERS. Accept absolute paths for FILES
parameter.
Source/_javascript_Core:
* CMakeLists.txt: Do not use DERIVED_SOURCE_DIRECTORIES parameter
of WEBKIT_MAKE_FORWARDING_HEADERS. Added generated headers to
_javascript_Core_PRIVATE_FRAMEWORK_HEADERS.
Source/WebCore:
No new tests because no behavior changes.
* PlatformWin.cmake: Do not use DERIVED_SOURCE_DIRECTORIES of
WEBKIT_MAKE_FORWARDING_HEADERS. Added
WebCore_PRIVATE_FRAMEWORK_HEADERS.
* WebCoreMacros.cmake (GENERATE_DOM_NAMES): Added
${_namespace}ElementTypeHelpers.h to _outputfiles.
Source/WebKitLegacy:
* PlatformWin.cmake: Do not use DERIVED_SOURCE_DIRECTORIES
parameter of WEBKIT_MAKE_FORWARDING_HEADERS. Added
WebKitLegacyGUID_PRIVATE_FRAMEWORK_HEADERS.
Tools:
* TestWebKitAPI/PlatformGTK.cmake: Removed the workaround of using an intermediate target.
* TestWebKitAPI/PlatformWPE.cmake: Ditto.
Modified Paths
Diff
Modified: trunk/ChangeLog (243745 => 243746)
--- trunk/ChangeLog 2019-04-02 16:23:22 UTC (rev 243745)
+++ trunk/ChangeLog 2019-04-02 16:33:02 UTC (rev 243746)
@@ -1,3 +1,24 @@
+2019-04-02 Fujii Hironori <hironori.fu...@sony.com>
+
+ [CMake] WEBKIT_MAKE_FORWARDING_HEADERS shouldn't use POST_BUILD to copy generated headers
+ https://bugs.webkit.org/show_bug.cgi?id=182757
+
+ Reviewed by Don Olmstead.
+
+ Some generated headers need to be exported to its client modules.
+ Before this change, WEBKIT_MAKE_FORWARDING_HEADERS copies all *.h
+ files in the directory specified by DERIVED_SOURCE_DIRECTORIES
+ parameter. The copy operation was triggered by POST_BUILD event.
+
+ This caused build dependency issues for Ninja builds. This change
+ remove the DERIVED_SOURCE_DIRECTORIES parameter. And list all
+ generated headers explicitly which need to be copied.
+
+ * Source/cmake/WebKitMacros.cmake: Removed
+ DERIVED_SOURCE_DIRECTORIES parameter of
+ WEBKIT_MAKE_FORWARDING_HEADERS. Accept absolute paths for FILES
+ parameter.
+
2019-04-01 Fujii Hironori <hironori.fu...@sony.com>
[CMake] Remove EXTRA_DIRECTORIES parameter of WEBKIT_MAKE_FORWARDING_HEADERS
Modified: trunk/Source/_javascript_Core/CMakeLists.txt (243745 => 243746)
--- trunk/Source/_javascript_Core/CMakeLists.txt 2019-04-02 16:23:22 UTC (rev 243745)
+++ trunk/Source/_javascript_Core/CMakeLists.txt 2019-04-02 16:33:02 UTC (rev 243746)
@@ -399,6 +399,13 @@
)
set(_javascript_Core_PRIVATE_FRAMEWORK_HEADERS
+ ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/Bytecodes.h
+ ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/JSCBuiltins.h
+
+ ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/inspector/InspectorBackendDispatchers.h
+ ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/inspector/InspectorFrontendDispatchers.h
+ ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/inspector/InspectorProtocolObjects.h
+
API/APICallbackFunction.h
API/APICast.h
API/APIUtils.h
@@ -1274,7 +1281,6 @@
WEBKIT_MAKE_FORWARDING_HEADERS(_javascript_Core
TARGET_NAME _javascript_CorePrivateForwardingHeaders
FILES ${_javascript_Core_PRIVATE_FRAMEWORK_HEADERS}
- DERIVED_SOURCE_DIRECTORIES ${DERIVED_SOURCES_DIR}/_javascript_Core ${DERIVED_SOURCES_DIR}/_javascript_Core/inspector
FLATTENED
)
Modified: trunk/Source/_javascript_Core/ChangeLog (243745 => 243746)
--- trunk/Source/_javascript_Core/ChangeLog 2019-04-02 16:23:22 UTC (rev 243745)
+++ trunk/Source/_javascript_Core/ChangeLog 2019-04-02 16:33:02 UTC (rev 243746)
@@ -1,3 +1,14 @@
+2019-04-02 Fujii Hironori <hironori.fu...@sony.com>
+
+ [CMake] WEBKIT_MAKE_FORWARDING_HEADERS shouldn't use POST_BUILD to copy generated headers
+ https://bugs.webkit.org/show_bug.cgi?id=182757
+
+ Reviewed by Don Olmstead.
+
+ * CMakeLists.txt: Do not use DERIVED_SOURCE_DIRECTORIES parameter
+ of WEBKIT_MAKE_FORWARDING_HEADERS. Added generated headers to
+ _javascript_Core_PRIVATE_FRAMEWORK_HEADERS.
+
2019-04-02 Saam barati <sbar...@apple.com>
Add a ValueRepReduction phase
Modified: trunk/Source/WebCore/ChangeLog (243745 => 243746)
--- trunk/Source/WebCore/ChangeLog 2019-04-02 16:23:22 UTC (rev 243745)
+++ trunk/Source/WebCore/ChangeLog 2019-04-02 16:33:02 UTC (rev 243746)
@@ -1,3 +1,18 @@
+2019-04-02 Fujii Hironori <hironori.fu...@sony.com>
+
+ [CMake] WEBKIT_MAKE_FORWARDING_HEADERS shouldn't use POST_BUILD to copy generated headers
+ https://bugs.webkit.org/show_bug.cgi?id=182757
+
+ Reviewed by Don Olmstead.
+
+ No new tests because no behavior changes.
+
+ * PlatformWin.cmake: Do not use DERIVED_SOURCE_DIRECTORIES of
+ WEBKIT_MAKE_FORWARDING_HEADERS. Added
+ WebCore_PRIVATE_FRAMEWORK_HEADERS.
+ * WebCoreMacros.cmake (GENERATE_DOM_NAMES): Added
+ ${_namespace}ElementTypeHelpers.h to _outputfiles.
+
2019-04-02 Cathie Chen <cathiec...@igalia.com>
Update the status of ResizeObserver in features.json.
Modified: trunk/Source/WebCore/PlatformWin.cmake (243745 => 243746)
--- trunk/Source/WebCore/PlatformWin.cmake 2019-04-02 16:23:22 UTC (rev 243745)
+++ trunk/Source/WebCore/PlatformWin.cmake 2019-04-02 16:33:02 UTC (rev 243746)
@@ -320,12 +320,47 @@
)
endif ()
+set(WebCore_PRIVATE_FRAMEWORK_HEADERS
+ ${DERIVED_SOURCES_WEBCORE_DIR}/CSSPropertyNames.h
+ ${DERIVED_SOURCES_WEBCORE_DIR}/CSSValueKeywords.h
+ ${DERIVED_SOURCES_WEBCORE_DIR}/EventInterfaces.h
+ ${DERIVED_SOURCES_WEBCORE_DIR}/EventTargetInterfaces.h
+ ${DERIVED_SOURCES_WEBCORE_DIR}/HTMLElementTypeHelpers.h
+ ${DERIVED_SOURCES_WEBCORE_DIR}/HTMLNames.h
+ ${DERIVED_SOURCES_WEBCORE_DIR}/HTTPHeaderNames.h
+ ${DERIVED_SOURCES_WEBCORE_DIR}/JSBlob.h
+ ${DERIVED_SOURCES_WEBCORE_DIR}/JSCSSStyleDeclaration.h
+ ${DERIVED_SOURCES_WEBCORE_DIR}/JSDOMBindingInternalsBuiltins.h
+ ${DERIVED_SOURCES_WEBCORE_DIR}/JSDOMWindow.h
+ ${DERIVED_SOURCES_WEBCORE_DIR}/JSDocument.h
+ ${DERIVED_SOURCES_WEBCORE_DIR}/JSElement.h
+ ${DERIVED_SOURCES_WEBCORE_DIR}/JSEventTarget.h
+ ${DERIVED_SOURCES_WEBCORE_DIR}/JSFile.h
+ ${DERIVED_SOURCES_WEBCORE_DIR}/JSHTMLElement.h
+ ${DERIVED_SOURCES_WEBCORE_DIR}/JSNode.h
+ ${DERIVED_SOURCES_WEBCORE_DIR}/JSNotification.h
+ ${DERIVED_SOURCES_WEBCORE_DIR}/JSRange.h
+ ${DERIVED_SOURCES_WEBCORE_DIR}/JSReadableStream.h
+ ${DERIVED_SOURCES_WEBCORE_DIR}/JSReadableStreamDefaultController.h
+ ${DERIVED_SOURCES_WEBCORE_DIR}/RTCPeerConnectionInternalsBuiltins.h
+ ${DERIVED_SOURCES_WEBCORE_DIR}/ReadableByteStreamInternalsBuiltins.h
+ ${DERIVED_SOURCES_WEBCORE_DIR}/ReadableStreamInternalsBuiltins.h
+ ${DERIVED_SOURCES_WEBCORE_DIR}/Settings.h
+ ${DERIVED_SOURCES_WEBCORE_DIR}/StreamInternalsBuiltins.h
+ ${DERIVED_SOURCES_WEBCORE_DIR}/WebCoreJSBuiltinInternals.h
+ ${DERIVED_SOURCES_WEBCORE_DIR}/WebCoreJSBuiltins.h
+ ${DERIVED_SOURCES_WEBCORE_DIR}/WebKitFontFamilyNames.h
+ ${DERIVED_SOURCES_WEBCORE_DIR}/WritableStreamInternalsBuiltins.h
+)
+
WEBKIT_MAKE_FORWARDING_HEADERS(WebCore
+ FILES ${WebCore_PRIVATE_FRAMEWORK_HEADERS}
DIRECTORIES ${WebCore_FORWARDING_HEADERS_DIRECTORIES}
- DERIVED_SOURCE_DIRECTORIES ${DERIVED_SOURCES_WEBCORE_DIR}
FLATTENED
)
+add_dependencies(WebCoreForwardingHeaders WebCoreBindings)
+
set(WebCore_OUTPUT_NAME
WebCore${DEBUG_SUFFIX}
)
Modified: trunk/Source/WebCore/WebCoreMacros.cmake (243745 => 243746)
--- trunk/Source/WebCore/WebCoreMacros.cmake 2019-04-02 16:23:22 UTC (rev 243745)
+++ trunk/Source/WebCore/WebCoreMacros.cmake 2019-04-02 16:33:02 UTC (rev 243746)
@@ -220,7 +220,7 @@
if (_tags)
set(_arguments "${_arguments}" --tags ${_tags} --factory --wrapperFactory)
- set(_outputfiles "${_outputfiles}" ${DERIVED_SOURCES_WEBCORE_DIR}/${_namespace}ElementFactory.cpp ${DERIVED_SOURCES_WEBCORE_DIR}/${_namespace}ElementFactory.h ${DERIVED_SOURCES_WEBCORE_DIR}/JS${_namespace}ElementWrapperFactory.cpp ${DERIVED_SOURCES_WEBCORE_DIR}/JS${_namespace}ElementWrapperFactory.h)
+ set(_outputfiles "${_outputfiles}" ${DERIVED_SOURCES_WEBCORE_DIR}/${_namespace}ElementFactory.cpp ${DERIVED_SOURCES_WEBCORE_DIR}/${_namespace}ElementFactory.h ${DERIVED_SOURCES_WEBCORE_DIR}/${_namespace}ElementTypeHelpers.h ${DERIVED_SOURCES_WEBCORE_DIR}/JS${_namespace}ElementWrapperFactory.cpp ${DERIVED_SOURCES_WEBCORE_DIR}/JS${_namespace}ElementWrapperFactory.h)
endif ()
if (_extradef)
Modified: trunk/Source/WebKitLegacy/ChangeLog (243745 => 243746)
--- trunk/Source/WebKitLegacy/ChangeLog 2019-04-02 16:23:22 UTC (rev 243745)
+++ trunk/Source/WebKitLegacy/ChangeLog 2019-04-02 16:33:02 UTC (rev 243746)
@@ -1,3 +1,14 @@
+2019-04-02 Fujii Hironori <hironori.fu...@sony.com>
+
+ [CMake] WEBKIT_MAKE_FORWARDING_HEADERS shouldn't use POST_BUILD to copy generated headers
+ https://bugs.webkit.org/show_bug.cgi?id=182757
+
+ Reviewed by Don Olmstead.
+
+ * PlatformWin.cmake: Do not use DERIVED_SOURCE_DIRECTORIES
+ parameter of WEBKIT_MAKE_FORWARDING_HEADERS. Added
+ WebKitLegacyGUID_PRIVATE_FRAMEWORK_HEADERS.
+
2019-03-13 Youenn Fablet <you...@apple.com>
Check IDB quota usage through QuotaManager
Modified: trunk/Source/WebKitLegacy/PlatformWin.cmake (243745 => 243746)
--- trunk/Source/WebKitLegacy/PlatformWin.cmake 2019-04-02 16:23:22 UTC (rev 243745)
+++ trunk/Source/WebKitLegacy/PlatformWin.cmake 2019-04-02 16:33:02 UTC (rev 243746)
@@ -478,10 +478,16 @@
file(MAKE_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY})
file(MAKE_DIRECTORY ${DERIVED_SOURCES_WEBKITLEGACY_DIR}/Interfaces)
+set(WebKitLegacyGUID_PRIVATE_FRAMEWORK_HEADERS
+ ${DERIVED_SOURCES_WEBKITLEGACY_DIR}/Interfaces/WebKit.h
+
+ win/CFDictionaryPropertyBag.h
+ win/WebKitCOMAPI.h
+)
+
WEBKIT_MAKE_FORWARDING_HEADERS(WebKitLegacyGUID
DESTINATION ${FORWARDING_HEADERS_DIR}/WebKitLegacy
- FILES win/WebKitCOMAPI.h win/CFDictionaryPropertyBag.h
- DERIVED_SOURCE_DIRECTORIES ${DERIVED_SOURCES_WEBKITLEGACY_DIR}/Interfaces
+ FILES ${WebKitLegacyGUID_PRIVATE_FRAMEWORK_HEADERS}
FLATTENED
)
Modified: trunk/Source/cmake/WebKitMacros.cmake (243745 => 243746)
--- trunk/Source/cmake/WebKitMacros.cmake 2019-04-02 16:23:22 UTC (rev 243745)
+++ trunk/Source/cmake/WebKitMacros.cmake 2019-04-02 16:33:02 UTC (rev 243746)
@@ -236,7 +236,7 @@
function(WEBKIT_MAKE_FORWARDING_HEADERS framework)
set(options FLATTENED)
set(oneValueArgs DESTINATION TARGET_NAME)
- set(multiValueArgs DIRECTORIES DERIVED_SOURCE_DIRECTORIES FILES)
+ set(multiValueArgs DIRECTORIES FILES)
cmake_parse_arguments(opt "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
set(headers ${opt_FILES})
if (opt_DESTINATION)
@@ -251,6 +251,11 @@
endforeach ()
set(fwd_headers)
foreach (header IN LISTS headers)
+ if (IS_ABSOLUTE ${header})
+ set(src_header ${header})
+ else ()
+ set(src_header ${CMAKE_CURRENT_SOURCE_DIR}/${header})
+ endif ()
if (opt_FLATTENED)
get_filename_component(header_filename ${header} NAME)
set(fwd_header ${destination}/${header_filename})
@@ -260,7 +265,7 @@
set(fwd_header ${destination}/${header})
endif ()
add_custom_command(OUTPUT ${fwd_header}
- COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/${header} ${fwd_header}
+ COMMAND ${CMAKE_COMMAND} -E copy ${src_header} ${fwd_header}
MAIN_DEPENDENCY ${header}
VERBATIM
)
@@ -273,27 +278,6 @@
endif ()
add_custom_target(${target_name} DEPENDS ${fwd_headers})
add_dependencies(${framework} ${target_name})
- if (opt_DERIVED_SOURCE_DIRECTORIES)
- set(script ${CMAKE_CURRENT_BINARY_DIR}/makeForwardingHeaders.cmake)
- set(content "")
- foreach (dir IN LISTS opt_DERIVED_SOURCE_DIRECTORIES)
- string(CONCAT content ${content}
- "file(GLOB headers \"${dir}/*.h\")\n"
- "foreach (header IN LISTS headers)\n"
- " get_filename_component(header_filename \${header} NAME)\n"
- " execute_process(COMMAND \${CMAKE_COMMAND} -E copy_if_different \${header} ${destination}/\${header_filename} RESULT_VARIABLE result)\n"
- " if (NOT \${result} EQUAL 0)\n"
- " message(FATAL_ERROR \"Failed to copy \${header}: \${result}\")\n"
- " endif ()\n"
- "endforeach ()\n"
- )
- endforeach ()
- file(WRITE ${script} ${content})
- add_custom_command(TARGET ${framework} POST_BUILD
- COMMAND ${CMAKE_COMMAND} -P ${script}
- VERBATIM
- )
- endif ()
endfunction()
# Helper macros for debugging CMake problems.
Modified: trunk/Tools/ChangeLog (243745 => 243746)
--- trunk/Tools/ChangeLog 2019-04-02 16:23:22 UTC (rev 243745)
+++ trunk/Tools/ChangeLog 2019-04-02 16:33:02 UTC (rev 243746)
@@ -1,3 +1,13 @@
+2019-04-02 Fujii Hironori <hironori.fu...@sony.com>
+
+ [CMake] WEBKIT_MAKE_FORWARDING_HEADERS shouldn't use POST_BUILD to copy generated headers
+ https://bugs.webkit.org/show_bug.cgi?id=182757
+
+ Reviewed by Don Olmstead.
+
+ * TestWebKitAPI/PlatformGTK.cmake: Removed the workaround of using an intermediate target.
+ * TestWebKitAPI/PlatformWPE.cmake: Ditto.
+
2019-04-01 Jonathan Bedard <jbed...@apple.com>
run-api-tests: Upload test results
Modified: trunk/Tools/TestWebKitAPI/PlatformGTK.cmake (243745 => 243746)
--- trunk/Tools/TestWebKitAPI/PlatformGTK.cmake 2019-04-02 16:23:22 UTC (rev 243745)
+++ trunk/Tools/TestWebKitAPI/PlatformGTK.cmake 2019-04-02 16:33:02 UTC (rev 243746)
@@ -133,10 +133,6 @@
set_tests_properties(TestJSC PROPERTIES TIMEOUT 60)
set_target_properties(TestJSC PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${TESTWEBKITAPI_RUNTIME_OUTPUT_DIRECTORY}/_javascript_Core)
-# Add an intermediate target between TestJSC and _javascript_Core to ensure derived headers are copied into the forwarding header directory.
-add_custom_target(pre-TestJSC DEPENDS _javascript_Core)
-add_dependencies(TestJSC pre-TestJSC)
-
if (COMPILER_IS_GCC_OR_CLANG)
WEBKIT_ADD_TARGET_CXX_FLAGS(TestWebKit -Wno-sign-compare
-Wno-undef
Modified: trunk/Tools/TestWebKitAPI/PlatformWPE.cmake (243745 => 243746)
--- trunk/Tools/TestWebKitAPI/PlatformWPE.cmake 2019-04-02 16:23:22 UTC (rev 243745)
+++ trunk/Tools/TestWebKitAPI/PlatformWPE.cmake 2019-04-02 16:33:02 UTC (rev 243746)
@@ -114,10 +114,6 @@
set_tests_properties(TestJSC PROPERTIES TIMEOUT 60)
set_target_properties(TestJSC PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${TESTWEBKITAPI_RUNTIME_OUTPUT_DIRECTORY}/_javascript_Core)
-# Add an intermediate target between TestJSC and _javascript_Core to ensure derived headers are copied into the forwarding header directory.
-add_custom_target(pre-TestJSC DEPENDS _javascript_Core)
-add_dependencies(TestJSC pre-TestJSC)
-
if (COMPILER_IS_GCC_OR_CLANG)
WEBKIT_ADD_TARGET_CXX_FLAGS(TestWebCore -Wno-sign-compare
-Wno-undef