<div id="docs-body">
 <div class="section">
  <div class="titlepage">
   <div>
    <div>
     <h3 class="title">
      <a name="source-installation-doxygen">
      </a>
      2.8.10 Generating MySQL Doxygen Documentation Content
     </h3>
    </div>
   </div>
  </div>
  <p>
   The MySQL source code contains internal documentation written
      using Doxygen. The generated Doxygen content is available at
   <a class="ulink" href="/doc/index-other.html" target="_top">
    https://dev.mysql.com/doc/index-other.html
   </a>
   . It is also possible to
      generate this content locally from a MySQL source distribution
      using the following procedure:
  </p>
  <div class="orderedlist">
   <ol class="orderedlist" type="1">
    <li class="listitem">
     <p>
      Install
      <span class="command">
       <strong>
        doxygen
       </strong>
      </span>
      1.9.2 or later.
          Distributions are available here at
      <a class="ulink" href="http://www.doxygen.nl/" target="_blank">
       http://www.doxygen.nl/
      </a>
      .
     </p>
     <p>
      After installing
      <span class="command">
       <strong>
        doxygen
       </strong>
      </span>
      , verify the
          version number:
     </p>
     <div class="copytoclipboard-wrapper">
      <pre class="programlisting language-terminal"><div class="docs-select-all right" id="sa39148732"><div class="copy-help left">Press ⌘+C to copy</div> <div class="right"><button class="clipboard-btn" title="Copy to Clipboard"><span class="icon-clipboard"></span></button></div></div><code class="language-terminal"><span class="token prompt">$&gt; </span><span class="token command">doxygen</span> <span class="token property">--version</span>
1<span class="token punctuation">.</span>9<span class="token punctuation">.</span>2</code></pre>
     </div>
    </li>
    <li class="listitem">
     <p>
      Install
      <a class="ulink" href="http://plantuml.com/download.html" target="_blank">
       PlantUML
      </a>
      .
     </p>
     <p>
      When you install PlantUML on Windows (tested on Windows 10),
          you must run it at least once as administrator so it creates
          the registry keys. Open an administrator console and run this
          command:
     </p>
     <div class="copytoclipboard-wrapper">
      <pre class="programlisting one-line language-terminal"><div class="docs-select-all right" id="sa97740789"><div class="copy-help left">Press ⌘+C to copy</div> <div class="right"><button class="clipboard-btn" title="Copy to Clipboard"><span class="icon-clipboard"></span></button></div></div><code class="language-terminal"><span class="token prompt">$&gt; </span><span class="token command">java</span> <span class="token property">-jar</span> <em class="replaceable">path-to-plantuml<span class="token punctuation">.</span>jar</em></code></pre>
     </div>
     <p>
      The command should open a GUI window and return no errors on
          the console.
     </p>
    </li>
    <li class="listitem">
     <p>
      Set the
      <code class="literal">
       PLANTUML_JAR_PATH
      </code>
      environment to
          the location where you installed PlantUML. For example:
     </p>
     <div class="copytoclipboard-wrapper">
      <pre class="programlisting one-line language-terminal"><div class="docs-select-all right" id="sa5942745"><div class="copy-help left">Press ⌘+C to copy</div> <div class="right"><button class="clipboard-btn" title="Copy to Clipboard"><span class="icon-clipboard"></span></button></div></div><code class="language-terminal"><span class="token prompt">$&gt; </span><span class="token command">export</span> PLANTUML_JAR_PATH<span class="token attr-value"><span class="token punctuation">=</span><em class="replaceable">path-to-plantuml.jar</em></span></code></pre>
     </div>
    </li>
    <li class="listitem">
     <p>
      Install the
      <a class="ulink" href="http://www.graphviz.org/" target="_blank">
       Graphviz
      </a>
      <span class="command">
       <strong>
        dot
       </strong>
      </span>
      command.
     </p>
     <p>
      After installing Graphviz, verify
      <span class="command">
       <strong>
        dot
       </strong>
      </span>
      availability. For example:
     </p>
     <div class="copytoclipboard-wrapper">
      <pre class="programlisting language-terminal"><div class="docs-select-all right" id="sa46127159"><div class="copy-help left">Press ⌘+C to copy</div> <div class="right"><button class="clipboard-btn" title="Copy to Clipboard"><span class="icon-clipboard"></span></button></div></div><code class="language-terminal"><span class="token prompt">$&gt; </span><span class="token command">which</span> dot
/usr/bin/dot

<span class="token prompt">$&gt; </span><span class="token command">dot</span> <span class="token property">-V</span>
dot - graphviz version 2<span class="token punctuation">.</span>40<span class="token punctuation">.</span>1 <span class="token punctuation">(</span>20161225<span class="token punctuation">.</span>0304<span class="token punctuation">)</span></code></pre>
     </div>
    </li>
    <li class="listitem">
     <p>
      Change location to the top-level directory of your MySQL
          source distribution and do the following:
     </p>
     <p>
      First, execute
      <span class="command">
       <strong>
        cmake
       </strong>
      </span>
      :
     </p>
     <div class="copytoclipboard-wrapper">
      <pre class="programlisting language-terminal"><div class="docs-select-all right" id="sa71563337"><div class="copy-help left">Press ⌘+C to copy</div> <div class="right"><button class="clipboard-btn" title="Copy to Clipboard"><span class="icon-clipboard"></span></button></div></div><code class="language-terminal"><span class="token prompt">$&gt; </span><span class="token command">cd</span> <em class="replaceable">mysql-source-directory</em>
<span class="token prompt">$&gt; </span><span class="token command">mkdir</span> build
<span class="token prompt">$&gt; </span><span class="token command">cd</span> build
<span class="token prompt">$&gt; </span><span class="token command">cmake</span> <span class="token punctuation">.</span><span class="token punctuation">.</span></code></pre>
     </div>
     <p>
      Next, generate the
      <span class="command">
       <strong>
        doxygen
       </strong>
      </span>
      documentation:
     </p>
     <div class="copytoclipboard-wrapper">
      <pre class="programlisting one-line language-terminal"><div class="docs-select-all right" id="sa89729466"><div class="copy-help left">Press ⌘+C to copy</div> <div class="right"><button class="clipboard-btn" title="Copy to Clipboard"><span class="icon-clipboard"></span></button></div></div><code class="language-terminal"><span class="token prompt">$&gt; </span><span class="token command">make</span> doxygen</code></pre>
     </div>
     <p>
      Inspect the error log, which is available in the
      <code class="filename">
       doxyerror.log
      </code>
      file in the top-level
          directory. Assuming that the build executed successfully, view
          the generated output using a browser. For example:
     </p>
     <div class="copytoclipboard-wrapper">
      <pre class="programlisting one-line language-terminal"><div class="docs-select-all right" id="sa90928850"><div class="copy-help left">Press ⌘+C to copy</div> <div class="right"><button class="clipboard-btn" title="Copy to Clipboard"><span class="icon-clipboard"></span></button></div></div><code class="language-terminal"><span class="token prompt">$&gt; </span><span class="token command">firefox</span> doxygen/html/index<span class="token punctuation">.</span>html</code></pre>
     </div>
    </li>
   </ol>
  </div>
 </div>
 <br/>
</div>
