<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] Options should be marked as advanced by default"
   href="https://bugs.webkit.org/show_bug.cgi?id=143572">143572</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>[CMake] Options should be marked as advanced by default
          </td>
        </tr>

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

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

        <tr>
          <th>Version</th>
          <td>528+ (Nightly build)
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>PC
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>Linux
          </td>
        </tr>

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

        <tr>
          <th>Severity</th>
          <td>Enhancement
          </td>
        </tr>

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

        <tr>
          <th>Component</th>
          <td>WebKit Gtk
          </td>
        </tr>

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

        <tr>
          <th>Reporter</th>
          <td>mcatanzaro&#64;igalia.com
          </td>
        </tr></table>
      <p>
        <div>
        <pre>Options defined with WEBKIT_OPTION_DEFINE should be marked as advanced so that they don't show up in CMake GUIs or with cmake -L. We also shouldn't print them when running cmake. This prevents ports from unexpectedly getting new public options. The idea is that you only make an option public if you're really willing to support building both with and without it.

If WEBKIT_OPTION_DEFINE_PORT_VALUE is called, then the option should become public. WEBKIT_OPTION_PRIVATE_PORT_VALUE is provided to change the default value for a port without making it public.

WEBKIT_OPTION_DEFINE_PUBLIC is provided to create a new port-specific option and mark it public without needing to use both WEBKIT_OPTION_DEFINE and WEBKIT_OPTION_DEFINE_PORT_VALUE.

Note that there is no enforcement: users can still set all of these options if they really want to, as before, e.g. 'cmake -DSOME_UNSUPPORTED_OPTION=ON', but probably only developers will do this.</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>