Title: [258083] trunk/Source/WebCore
Revision
258083
Author
[email protected]
Date
2020-03-07 15:20:51 -0800 (Sat, 07 Mar 2020)

Log Message

[CMake][Win] GenerateSettings.rb are invoked twice in WebCoreBindings.vcxproj and WebCoreTestSupportBindings.vcxproj
https://bugs.webkit.org/show_bug.cgi?id=208771

Reviewed by Konstantin Tokarev.

CMake Visual Studio generator put a custom command of
GenerateSettings.rb into both WebCoreBindings.vcxproj and
WebCoreTestSupportBindings.vcxproj because both projects are
using the generated files as source files. This causes
unnecessary recompilation.

The fundamental issue of this bug was fixed in CMake 3.12.
<https://gitlab.kitware.com/cmake/cmake/issues/16767>
All Windows ports are using newer CMake for Visual Studio 2019
support.

However, WebCoreTestSupportBindings needs to have a direct or
indirect dependency to WebCoreBindings for CMake Visual Studio
generator to eliminate duplicated custom commands. Otherwise,
GenerateSettings.rb will be triggered in both projects.

* CMakeLists.txt: Added a explicit dependency to WebCoreBindings
for WebCoreTestSupportBindings.
* WebCoreMacros.cmake: Removed stale comment.

Modified Paths

Diff

Modified: trunk/Source/WebCore/CMakeLists.txt (258082 => 258083)


--- trunk/Source/WebCore/CMakeLists.txt	2020-03-07 23:19:55 UTC (rev 258082)
+++ trunk/Source/WebCore/CMakeLists.txt	2020-03-07 23:20:51 UTC (rev 258083)
@@ -1837,6 +1837,12 @@
     DESTINATION ${WebCore_DERIVED_SOURCES_DIR}
     GENERATOR JS)
 
+# WebCoreTestSupportBindings needs to have a direct or indirect
+# dependency to WebCoreBindings for CMake Visual Studio generator to
+# eliminate duplicated custom commands. Otherwise,
+# GenerateSettings.rb will be triggered in both projects.
+add_dependencies(WebCoreTestSupportBindings WebCoreBindings)
+
 # WebCore JS Builtins
 
 set(WebCore_BUILTINS_SOURCES

Modified: trunk/Source/WebCore/ChangeLog (258082 => 258083)


--- trunk/Source/WebCore/ChangeLog	2020-03-07 23:19:55 UTC (rev 258082)
+++ trunk/Source/WebCore/ChangeLog	2020-03-07 23:20:51 UTC (rev 258083)
@@ -1,3 +1,30 @@
+2020-03-07  Fujii Hironori  <[email protected]>
+
+        [CMake][Win] GenerateSettings.rb are invoked twice in WebCoreBindings.vcxproj and WebCoreTestSupportBindings.vcxproj
+        https://bugs.webkit.org/show_bug.cgi?id=208771
+
+        Reviewed by Konstantin Tokarev.
+
+        CMake Visual Studio generator put a custom command of
+        GenerateSettings.rb into both WebCoreBindings.vcxproj and
+        WebCoreTestSupportBindings.vcxproj because both projects are
+        using the generated files as source files. This causes
+        unnecessary recompilation.
+
+        The fundamental issue of this bug was fixed in CMake 3.12.
+        <https://gitlab.kitware.com/cmake/cmake/issues/16767>
+        All Windows ports are using newer CMake for Visual Studio 2019
+        support.
+
+        However, WebCoreTestSupportBindings needs to have a direct or
+        indirect dependency to WebCoreBindings for CMake Visual Studio
+        generator to eliminate duplicated custom commands. Otherwise,
+        GenerateSettings.rb will be triggered in both projects.
+
+        * CMakeLists.txt: Added a explicit dependency to WebCoreBindings
+        for WebCoreTestSupportBindings.
+        * WebCoreMacros.cmake: Removed stale comment.
+
 2020-03-07  Eric Carlson  <[email protected]>
 
         Implement setWirelessPlaybackTarget, performTaskAtMediaTime, and wouldTaintOrigin in GPUProcess

Modified: trunk/Source/WebCore/WebCoreMacros.cmake (258082 => 258083)


--- trunk/Source/WebCore/WebCoreMacros.cmake	2020-03-07 23:19:55 UTC (rev 258082)
+++ trunk/Source/WebCore/WebCoreMacros.cmake	2020-03-07 23:20:51 UTC (rev 258083)
@@ -188,9 +188,6 @@
 macro(GENERATE_SETTINGS_MACROS _infile _outfile)
     set(NAMES_GENERATOR ${WEBCORE_DIR}/Scripts/GenerateSettings.rb)
 
-    # Do not list the output in more than one independent target that may
-    # build in parallel or the two instances of the rule may conflict.
-    # <https://cmake.org/cmake/help/v3.0/command/add_custom_command.html>
     set(_extra_output
         ${WebCore_DERIVED_SOURCES_DIR}/Settings.cpp
         ${WebCore_DERIVED_SOURCES_DIR}/InternalSettingsGenerated.h
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to