<html>
    <head>
      <base href="https://bugs.webkit.org/" />
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - [CMake] CMake does not support the dep file of preprocess-idls.pl --supplementalMakefileDeps"
   href="https://bugs.webkit.org/show_bug.cgi?id=161433">161433</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>[CMake] CMake does not support the dep file of preprocess-idls.pl --supplementalMakefileDeps
          </td>
        </tr>

        <tr>
          <th>Classification</th>
          <td>Unclassified
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>WebKit
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>WebKit Nightly Build
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>Unspecified
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>Unspecified
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>Normal
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>P2
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>Tools / Tests
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>webkit-unassigned&#64;lists.webkit.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>Hironori.Fujii&#64;sony.com
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>lforschler&#64;apple.com
          </td>
        </tr></table>
      <p>
        <div>
        <pre>[CMake] CMake does not support the dep file of preprocess-idls.pl --supplementalMakefileDeps

preprocess-idls.pl has a switch --supplementalMakefileDeps to generate dynamic dependency file (SupplementalDependencies.dep).
And, Source/WebCore/DerivedSources.make includes the file:

<span class="quote">&gt; -include $(SUPPLEMENTAL_MAKEFILE_DEPS)</span >

But, CMake does not support the dynamic custom dependencies.

For example, we have a following problem of incremental build:

1) Build
<span class="quote">&gt;   ./Tools/Scripts/build-webkit --gtk --debug --64-bit</span >
2) Rename webkitBattery to webkitBattery2
<span class="quote">&gt;   sed -i s/webkitBattery/webkitBattery2/ Source/WebCore/Modules/battery/NavigatorBattery.*</span >
3) Build again
<span class="quote">&gt;    ./Tools/Scripts/build-webkit --gtk --debug --64-bit</span >
4) But, WebKitBuild/Debug/DerivedSources/WebCore/JSNavigator.cpp is not updated
5) We need to manually touch supplemented IDL files.
<span class="quote">&gt;   touch Source/WebCore/page/Navigator.idl</span >

There are three solutions:

A) Use DerivedSources.make (<a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - [meta] Make cmake build system use DerivedSources.make"
   href="show_bug.cgi?id=130339">Bug 130339</a>)
B) Generate Makefile for preprocess-idls.pl and generate-bindings.pl and invoke 'make'
C) Implement Make-like tool in Python or Perl</pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are the assignee for the bug.</li>
      </ul>
    </body>
</html>