<div id="docs-body">
 <div class="section">
  <div class="titlepage">
   <div>
    <div>
     <h3 class="title">
      <a name="source-configuration-options">
      </a>
      2.8.7 MySQL Source-Configuration Options
     </h3>
    </div>
   </div>
  </div>
  <a class="indexterm" name="idm46045329377392">
  </a>
  <a class="indexterm" name="idm46045329375904">
  </a>
  <a class="indexterm" name="idm46045329374416">
  </a>
  <p>
   The
   <span class="command">
    <strong>
     CMake
    </strong>
   </span>
   program provides a great deal of
      control over how you configure a MySQL source distribution.
      Typically, you do this using options on the
   <span class="command">
    <strong>
     CMake
    </strong>
   </span>
   command line. For information about
      options supported by
   <span class="command">
    <strong>
     CMake
    </strong>
   </span>
   , run either of these
      commands in the top-level source directory:
  </p>
  <div class="copytoclipboard-wrapper">
   <pre class="programlisting language-terminal"><div class="docs-select-all right" id="sa39737646"><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">cmake</span> <span class="token punctuation">.</span> <span class="token property">-LH</span>

<span class="token prompt">$&gt; </span><span class="token command">ccmake</span> <span class="token punctuation">.</span></code></pre>
  </div>
  <p>
   You can also affect
   <span class="command">
    <strong>
     CMake
    </strong>
   </span>
   using certain
      environment variables. See
   <a class="xref" href="environment-variables.html" title="6.9 Environment Variables">
    Section 6.9, “Environment Variables”
   </a>
   .
  </p>
  <p>
   For boolean options, the value may be specified as
   <code class="literal">
    1
   </code>
   or
   <code class="literal">
    ON
   </code>
   to enable the
      option, or as
   <code class="literal">
    0
   </code>
   or
   <code class="literal">
    OFF
   </code>
   to
      disable the option.
  </p>
  <p>
   Many options configure compile-time defaults that can be
      overridden at server startup. For example, the
   <a class="link" href="source-configuration-options.html#option_cmake_cmake_install_prefix">
    <code class="option">
     CMAKE_INSTALL_PREFIX
    </code>
   </a>
   ,
   <a class="link" href="source-configuration-options.html#option_cmake_mysql_tcp_port">
    <code class="option">
     MYSQL_TCP_PORT
    </code>
   </a>
   , and
   <a class="link" href="source-configuration-options.html#option_cmake_mysql_unix_addr">
    <code class="option">
     MYSQL_UNIX_ADDR
    </code>
   </a>
   options that
      configure the default installation base directory location, TCP/IP
      port number, and Unix socket file can be changed at server startup
      with the
   <a class="link" href="server-system-variables.html#sysvar_basedir">
    <code class="option">
     --basedir
    </code>
   </a>
   ,
   <a class="link" href="server-options.html#option_mysqld_port">
    <code class="option">
     --port
    </code>
   </a>
   , and
   <a class="link" href="server-options.html#option_mysqld_socket">
    <code class="option">
     --socket
    </code>
   </a>
   options for
   <a class="link" href="mysqld.html" title="6.3.1 mysqld — The MySQL Server">
    <span class="command">
     <strong>
      mysqld
     </strong>
    </span>
   </a>
   . Where applicable, configuration option
      descriptions indicate the corresponding
   <a class="link" href="mysqld.html" title="6.3.1 mysqld — The MySQL Server">
    <span class="command">
     <strong>
      mysqld
     </strong>
    </span>
   </a>
   startup option.
  </p>
  <p>
   The following sections provide more information about
   <span class="command">
    <strong>
     CMake
    </strong>
   </span>
   options.
  </p>
  <div class="itemizedlist">
   <ul class="itemizedlist" style="list-style-type: disc; ">
    <li class="listitem">
     <p>
      <a class="xref" href="source-configuration-options.html#cmake-option-reference" title="CMake Option Reference">
       CMake Option Reference
      </a>
     </p>
    </li>
    <li class="listitem">
     <p>
      <a class="xref" href="source-configuration-options.html#cmake-general-options" title="General Options">
       General Options
      </a>
     </p>
    </li>
    <li class="listitem">
     <p>
      <a class="xref" href="source-configuration-options.html#cmake-installation-layout-options" title="Installation Layout Options">
       Installation Layout Options
      </a>
     </p>
    </li>
    <li class="listitem">
     <p>
      <a class="xref" href="source-configuration-options.html#option_cmake_storage_engine_options" title="Storage Engine Options">
       Storage Engine Options
      </a>
     </p>
    </li>
    <li class="listitem">
     <p>
      <a class="xref" href="source-configuration-options.html#cmake-feature-options" title="Feature Options">
       Feature Options
      </a>
     </p>
    </li>
    <li class="listitem">
     <p>
      <a class="xref" href="source-configuration-options.html#cmake-compiler-flags" title="Compiler Flags">
       Compiler Flags
      </a>
     </p>
    </li>
    <li class="listitem">
     <p>
      <a class="xref" href="source-configuration-options.html#cmake-mysql-cluster-options" title="CMake Options for Compiling NDB Cluster">
       CMake Options for Compiling NDB Cluster
      </a>
     </p>
    </li>
   </ul>
  </div>
  <div class="simplesect">
   <div class="titlepage">
    <div>
     <div class="simple">
      <h4 class="title">
       <a name="cmake-option-reference">
       </a>
       CMake Option Reference
      </h4>
     </div>
    </div>
   </div>
   <p>
    The following table shows the available
    <span class="command">
     <strong>
      CMake
     </strong>
    </span>
    options. In the
    <code class="literal">
     Default
    </code>
    column,
    <code class="literal">
     PREFIX
    </code>
    stands for the value of the
    <a class="link" href="source-configuration-options.html#option_cmake_cmake_install_prefix">
     <code class="option">
      CMAKE_INSTALL_PREFIX
     </code>
    </a>
    option, which
        specifies the installation base directory. This value is used as
        the parent location for several of the installation
        subdirectories.
   </p>
   <div class="table">
    <a name="idm46045329339632">
    </a>
    <p class="title">
     <b>
      Table 2.13 MySQL Source-Configuration Option Reference
(CMake)
     </b>
    </p>
    <div class="table-contents">
     <table frame="box" rules="all" summary="CMake options that are available to configure MySQL when building from source.">
      <colgroup>
       <col style="width: 37%"/>
       <col style="width: 37%"/>
       <col style="width: 25%"/>
      </colgroup>
      <thead>
       <tr>
        <th scope="col">
         Formats
        </th>
        <th scope="col">
         Description
        </th>
        <th scope="col">
         Default
        </th>
       </tr>
      </thead>
      <tbody>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_add_gdb_index">
          <code class="literal">
           ADD_GDB_INDEX
          </code>
         </a>
        </th>
        <td>
         Whether to enable generation of .gdb_index section in binaries
        </td>
        <td>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_build_config">
          <code class="literal">
           BUILD_CONFIG
          </code>
         </a>
        </th>
        <td>
         Use same build options as official releases
        </td>
        <td>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_bundle_runtime_libraries">
          <code class="literal">
           BUNDLE_RUNTIME_LIBRARIES
          </code>
         </a>
        </th>
        <td>
         Bundle runtime libraries with server MSI and Zip packages for Windows
        </td>
        <td>
         <code class="literal">
          OFF
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_cmake_build_type">
          <code class="literal">
           CMAKE_BUILD_TYPE
          </code>
         </a>
        </th>
        <td>
         Type of build to produce
        </td>
        <td>
         <code class="literal">
          RelWithDebInfo
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_cmake_cxx_flags">
          <code class="literal">
           CMAKE_CXX_FLAGS
          </code>
         </a>
        </th>
        <td>
         Flags for C++ Compiler
        </td>
        <td>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_cmake_c_flags">
          <code class="literal">
           CMAKE_C_FLAGS
          </code>
         </a>
        </th>
        <td>
         Flags for C Compiler
        </td>
        <td>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_cmake_install_prefix">
          <code class="literal">
           CMAKE_INSTALL_PREFIX
          </code>
         </a>
        </th>
        <td>
         Installation base directory
        </td>
        <td>
         <code class="literal">
          /usr/local/mysql
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_compilation_comment">
          <code class="literal">
           COMPILATION_COMMENT
          </code>
         </a>
        </th>
        <td>
         Comment about compilation environment
        </td>
        <td>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_compilation_comment_server">
          <code class="literal">
           COMPILATION_COMMENT_SERVER
          </code>
         </a>
        </th>
        <td>
         Comment about compilation environment for use by mysqld
        </td>
        <td>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_compress_debug_sections">
          <code class="literal">
           COMPRESS_DEBUG_SECTIONS
          </code>
         </a>
        </th>
        <td>
         Compress debug sections of binary executables
        </td>
        <td>
         <code class="literal">
          OFF
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_cpack_monolithic_install">
          <code class="literal">
           CPACK_MONOLITHIC_INSTALL
          </code>
         </a>
        </th>
        <td>
         Whether package build produces single file
        </td>
        <td>
         <code class="literal">
          OFF
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_default_charset">
          <code class="literal">
           DEFAULT_CHARSET
          </code>
         </a>
        </th>
        <td>
         The default server character set
        </td>
        <td>
         <code class="literal">
          utf8mb4
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_default_collation">
          <code class="literal">
           DEFAULT_COLLATION
          </code>
         </a>
        </th>
        <td>
         The default server collation
        </td>
        <td>
         <code class="literal">
          utf8mb4_0900_ai_ci
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_disable_psi_cond">
          <code class="literal">
           DISABLE_PSI_COND
          </code>
         </a>
        </th>
        <td>
         Exclude Performance Schema condition instrumentation
        </td>
        <td>
         <code class="literal">
          OFF
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_disable_psi_data_lock">
          <code class="literal">
           DISABLE_PSI_DATA_LOCK
          </code>
         </a>
        </th>
        <td>
         Exclude the performance schema data lock instrumentation
        </td>
        <td>
         <code class="literal">
          OFF
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_disable_psi_error">
          <code class="literal">
           DISABLE_PSI_ERROR
          </code>
         </a>
        </th>
        <td>
         Exclude the performance schema server error instrumentation
        </td>
        <td>
         <code class="literal">
          OFF
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_disable_psi_file">
          <code class="literal">
           DISABLE_PSI_FILE
          </code>
         </a>
        </th>
        <td>
         Exclude Performance Schema file instrumentation
        </td>
        <td>
         <code class="literal">
          OFF
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_disable_psi_idle">
          <code class="literal">
           DISABLE_PSI_IDLE
          </code>
         </a>
        </th>
        <td>
         Exclude Performance Schema idle instrumentation
        </td>
        <td>
         <code class="literal">
          OFF
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_disable_psi_memory">
          <code class="literal">
           DISABLE_PSI_MEMORY
          </code>
         </a>
        </th>
        <td>
         Exclude Performance Schema memory instrumentation
        </td>
        <td>
         <code class="literal">
          OFF
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_disable_psi_metadata">
          <code class="literal">
           DISABLE_PSI_METADATA
          </code>
         </a>
        </th>
        <td>
         Exclude Performance Schema metadata instrumentation
        </td>
        <td>
         <code class="literal">
          OFF
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_disable_psi_mutex">
          <code class="literal">
           DISABLE_PSI_MUTEX
          </code>
         </a>
        </th>
        <td>
         Exclude Performance Schema mutex instrumentation
        </td>
        <td>
         <code class="literal">
          OFF
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_disable_psi_ps">
          <code class="literal">
           DISABLE_PSI_PS
          </code>
         </a>
        </th>
        <td>
         Exclude the performance schema prepared statements
        </td>
        <td>
         <code class="literal">
          OFF
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_disable_psi_rwlock">
          <code class="literal">
           DISABLE_PSI_RWLOCK
          </code>
         </a>
        </th>
        <td>
         Exclude Performance Schema rwlock instrumentation
        </td>
        <td>
         <code class="literal">
          OFF
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_disable_psi_socket">
          <code class="literal">
           DISABLE_PSI_SOCKET
          </code>
         </a>
        </th>
        <td>
         Exclude Performance Schema socket instrumentation
        </td>
        <td>
         <code class="literal">
          OFF
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_disable_psi_sp">
          <code class="literal">
           DISABLE_PSI_SP
          </code>
         </a>
        </th>
        <td>
         Exclude Performance Schema stored program instrumentation
        </td>
        <td>
         <code class="literal">
          OFF
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_disable_psi_stage">
          <code class="literal">
           DISABLE_PSI_STAGE
          </code>
         </a>
        </th>
        <td>
         Exclude Performance Schema stage instrumentation
        </td>
        <td>
         <code class="literal">
          OFF
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_disable_psi_statement">
          <code class="literal">
           DISABLE_PSI_STATEMENT
          </code>
         </a>
        </th>
        <td>
         Exclude Performance Schema statement instrumentation
        </td>
        <td>
         <code class="literal">
          OFF
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_disable_psi_statement_digest">
          <code class="literal">
           DISABLE_PSI_STATEMENT_DIGEST
          </code>
         </a>
        </th>
        <td>
         Exclude Performance Schema statements_digest instrumentation
        </td>
        <td>
         <code class="literal">
          OFF
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_disable_psi_table">
          <code class="literal">
           DISABLE_PSI_TABLE
          </code>
         </a>
        </th>
        <td>
         Exclude Performance Schema table instrumentation
        </td>
        <td>
         <code class="literal">
          OFF
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_disable_psi_thread">
          <code class="literal">
           DISABLE_PSI_THREAD
          </code>
         </a>
        </th>
        <td>
         Exclude the performance schema thread instrumentation
        </td>
        <td>
         <code class="literal">
          OFF
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_disable_psi_transaction">
          <code class="literal">
           DISABLE_PSI_TRANSACTION
          </code>
         </a>
        </th>
        <td>
         Exclude the performance schema transaction instrumentation
        </td>
        <td>
         <code class="literal">
          OFF
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_enabled_local_infile">
          <code class="literal">
           ENABLED_LOCAL_INFILE
          </code>
         </a>
        </th>
        <td>
         Whether to enable LOCAL for LOAD DATA
        </td>
        <td>
         <code class="literal">
          OFF
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_enabled_profiling">
          <code class="literal">
           ENABLED_PROFILING
          </code>
         </a>
        </th>
        <td>
         Whether to enable query profiling code
        </td>
        <td>
         <code class="literal">
          ON
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_enable_experimental_sysvars">
          <code class="literal">
           ENABLE_EXPERIMENTAL_SYSVARS
          </code>
         </a>
        </th>
        <td>
         Whether to enabled experimental InnoDB system variables
        </td>
        <td>
         <code class="literal">
          OFF
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_enable_gcov">
          <code class="literal">
           ENABLE_GCOV
          </code>
         </a>
        </th>
        <td>
         Whether to include gcov support
        </td>
        <td>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_enable_gprof">
          <code class="literal">
           ENABLE_GPROF
          </code>
         </a>
        </th>
        <td>
         Enable gprof (optimized Linux builds only)
        </td>
        <td>
         <code class="literal">
          OFF
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_force_colored_output">
          <code class="literal">
           FORCE_COLORED_OUTPUT
          </code>
         </a>
        </th>
        <td>
         Whether to colorize compiler output
        </td>
        <td>
         <code class="literal">
          OFF
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_force_insource_build">
          <code class="literal">
           FORCE_INSOURCE_BUILD
          </code>
         </a>
        </th>
        <td>
         Whether to force an in-source build
        </td>
        <td>
         <code class="literal">
          OFF
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_force_unsupported_compiler">
          <code class="literal">
           FORCE_UNSUPPORTED_COMPILER
          </code>
         </a>
        </th>
        <td>
         Whether to permit unsupported compilers
        </td>
        <td>
         <code class="literal">
          OFF
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_fprofile_generate">
          <code class="literal">
           FPROFILE_GENERATE
          </code>
         </a>
        </th>
        <td>
         Whether to generate profile guided optimization data
        </td>
        <td>
         <code class="literal">
          OFF
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_fprofile_use">
          <code class="literal">
           FPROFILE_USE
          </code>
         </a>
        </th>
        <td>
         Whether to use profile guided optimization data
        </td>
        <td>
         <code class="literal">
          OFF
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_have_psi_memory_interface">
          <code class="literal">
           HAVE_PSI_MEMORY_INTERFACE
          </code>
         </a>
        </th>
        <td>
         Enable performance schema memory tracing module for memory allocation functions used in dynamic storage of over-aligned types
        </td>
        <td>
         <code class="literal">
          OFF
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_ignore_aio_check">
          <code class="literal">
           IGNORE_AIO_CHECK
          </code>
         </a>
        </th>
        <td>
         With -DBUILD_CONFIG=mysql_release, ignore libaio check
        </td>
        <td>
         <code class="literal">
          OFF
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_install_bindir">
          <code class="literal">
           INSTALL_BINDIR
          </code>
         </a>
        </th>
        <td>
         User executables directory
        </td>
        <td>
         <code class="literal">
          PREFIX/bin
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_install_docdir">
          <code class="literal">
           INSTALL_DOCDIR
          </code>
         </a>
        </th>
        <td>
         Documentation directory
        </td>
        <td>
         <code class="literal">
          PREFIX/docs
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_install_docreadmedir">
          <code class="literal">
           INSTALL_DOCREADMEDIR
          </code>
         </a>
        </th>
        <td>
         README file directory
        </td>
        <td>
         <code class="literal">
          PREFIX
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_install_includedir">
          <code class="literal">
           INSTALL_INCLUDEDIR
          </code>
         </a>
        </th>
        <td>
         Header file directory
        </td>
        <td>
         <code class="literal">
          PREFIX/include
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_install_infodir">
          <code class="literal">
           INSTALL_INFODIR
          </code>
         </a>
        </th>
        <td>
         Info file directory
        </td>
        <td>
         <code class="literal">
          PREFIX/docs
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_install_layout">
          <code class="literal">
           INSTALL_LAYOUT
          </code>
         </a>
        </th>
        <td>
         Select predefined installation layout
        </td>
        <td>
         <code class="literal">
          STANDALONE
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_install_libdir">
          <code class="literal">
           INSTALL_LIBDIR
          </code>
         </a>
        </th>
        <td>
         Library file directory
        </td>
        <td>
         <code class="literal">
          PREFIX/lib
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_install_mandir">
          <code class="literal">
           INSTALL_MANDIR
          </code>
         </a>
        </th>
        <td>
         Manual page directory
        </td>
        <td>
         <code class="literal">
          PREFIX/man
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_install_mysqlsharedir">
          <code class="literal">
           INSTALL_MYSQLSHAREDIR
          </code>
         </a>
        </th>
        <td>
         Shared data directory
        </td>
        <td>
         <code class="literal">
          PREFIX/share
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_install_mysqltestdir">
          <code class="literal">
           INSTALL_MYSQLTESTDIR
          </code>
         </a>
        </th>
        <td>
         mysql-test directory
        </td>
        <td>
         <code class="literal">
          PREFIX/mysql-test
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_install_pkgconfigdir">
          <code class="literal">
           INSTALL_PKGCONFIGDIR
          </code>
         </a>
        </th>
        <td>
         Directory for mysqlclient.pc pkg-config file
        </td>
        <td>
         <code class="literal">
          INSTALL_LIBDIR/pkgconfig
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_install_plugindir">
          <code class="literal">
           INSTALL_PLUGINDIR
          </code>
         </a>
        </th>
        <td>
         Plugin directory
        </td>
        <td>
         <code class="literal">
          PREFIX/lib/plugin
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_install_priv_libdir">
          <code class="literal">
           INSTALL_PRIV_LIBDIR
          </code>
         </a>
        </th>
        <td>
         Installation private library directory
        </td>
        <td>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_install_sbindir">
          <code class="literal">
           INSTALL_SBINDIR
          </code>
         </a>
        </th>
        <td>
         Server executable directory
        </td>
        <td>
         <code class="literal">
          PREFIX/bin
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_install_secure_file_privdir">
          <code class="literal">
           INSTALL_SECURE_FILE_PRIVDIR
          </code>
         </a>
        </th>
        <td>
         secure_file_priv default value
        </td>
        <td>
         <code class="literal">
          platform specific
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_install_sharedir">
          <code class="literal">
           INSTALL_SHAREDIR
          </code>
         </a>
        </th>
        <td>
         aclocal/mysql.m4 installation directory
        </td>
        <td>
         <code class="literal">
          PREFIX/share
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_install_static_libraries">
          <code class="literal">
           INSTALL_STATIC_LIBRARIES
          </code>
         </a>
        </th>
        <td>
         Whether to install static libraries
        </td>
        <td>
         <code class="literal">
          ON
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_install_supportfilesdir">
          <code class="literal">
           INSTALL_SUPPORTFILESDIR
          </code>
         </a>
        </th>
        <td>
         Extra support files directory
        </td>
        <td>
         <code class="literal">
          PREFIX/support-files
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_link_randomize">
          <code class="literal">
           LINK_RANDOMIZE
          </code>
         </a>
        </th>
        <td>
         Whether to randomize order of symbols in mysqld binary
        </td>
        <td>
         <code class="literal">
          OFF
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_link_randomize_seed">
          <code class="literal">
           LINK_RANDOMIZE_SEED
          </code>
         </a>
        </th>
        <td>
         Seed value for LINK_RANDOMIZE option
        </td>
        <td>
         <code class="literal">
          mysql
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_max_indexes">
          <code class="literal">
           MAX_INDEXES
          </code>
         </a>
        </th>
        <td>
         Maximum indexes per table
        </td>
        <td>
         <code class="literal">
          64
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_msvc_cppcheck">
          <code class="literal">
           MSVC_CPPCHECK
          </code>
         </a>
        </th>
        <td>
         Enable MSVC code analysis.
        </td>
        <td>
         <code class="literal">
          ON
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_mutex_type">
          <code class="literal">
           MUTEX_TYPE
          </code>
         </a>
        </th>
        <td>
         InnoDB mutex type
        </td>
        <td>
         <code class="literal">
          event
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_mysqlx_tcp_port">
          <code class="literal">
           MYSQLX_TCP_PORT
          </code>
         </a>
        </th>
        <td>
         TCP/IP port number used by X Plugin
        </td>
        <td>
         <code class="literal">
          33060
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_mysqlx_unix_addr">
          <code class="literal">
           MYSQLX_UNIX_ADDR
          </code>
         </a>
        </th>
        <td>
         Unix socket file used by X Plugin
        </td>
        <td>
         <code class="literal">
          /tmp/mysqlx.sock
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_mysql_datadir">
          <code class="literal">
           MYSQL_DATADIR
          </code>
         </a>
        </th>
        <td>
         Data directory
        </td>
        <td>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_mysql_maintainer_mode">
          <code class="literal">
           MYSQL_MAINTAINER_MODE
          </code>
         </a>
        </th>
        <td>
         Whether to enable MySQL maintainer-specific development environment
        </td>
        <td>
         <code class="literal">
          OFF
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_mysql_project_name">
          <code class="literal">
           MYSQL_PROJECT_NAME
          </code>
         </a>
        </th>
        <td>
         Windows/macOS project name
        </td>
        <td>
         <code class="literal">
          MySQL
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_mysql_tcp_port">
          <code class="literal">
           MYSQL_TCP_PORT
          </code>
         </a>
        </th>
        <td>
         TCP/IP port number
        </td>
        <td>
         <code class="literal">
          3306
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_mysql_unix_addr">
          <code class="literal">
           MYSQL_UNIX_ADDR
          </code>
         </a>
        </th>
        <td>
         Unix socket file
        </td>
        <td>
         <code class="literal">
          /tmp/mysql.sock
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_ndb_utils_link_dynamic">
          <code class="literal">
           NDB_UTILS_LINK_DYNAMIC
          </code>
         </a>
        </th>
        <td>
         Cause NDB tools to be dynamically linked to ndbclient
        </td>
        <td>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_odbc_includes">
          <code class="literal">
           ODBC_INCLUDES
          </code>
         </a>
        </th>
        <td>
         ODBC includes directory
        </td>
        <td>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_odbc_lib_dir">
          <code class="literal">
           ODBC_LIB_DIR
          </code>
         </a>
        </th>
        <td>
         ODBC library directory
        </td>
        <td>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_optimizer_trace">
          <code class="literal">
           OPTIMIZER_TRACE
          </code>
         </a>
        </th>
        <td>
         Whether to support optimizer tracing
        </td>
        <td>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_optimize_sanitizer_builds">
          <code class="literal">
           OPTIMIZE_SANITIZER_BUILDS
          </code>
         </a>
        </th>
        <td>
         Whether to optimize sanitizer builds
        </td>
        <td>
         <code class="literal">
          ON
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_reproducible_build">
          <code class="literal">
           REPRODUCIBLE_BUILD
          </code>
         </a>
        </th>
        <td>
         Take extra care to create a build result independent of build location and time
        </td>
        <td>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_show_suppressed_compiler_warnings">
          <code class="literal">
           SHOW_SUPPRESSED_COMPILER_WARNING
          </code>
         </a>
        </th>
        <td>
         Whether to show suppressed compiler warnings and not fail with -Werror.
        </td>
        <td>
         <code class="literal">
          OFF
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_sysconfdir">
          <code class="literal">
           SYSCONFDIR
          </code>
         </a>
        </th>
        <td>
         Option file directory
        </td>
        <td>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_systemd_pid_dir">
          <code class="literal">
           SYSTEMD_PID_DIR
          </code>
         </a>
        </th>
        <td>
         Directory for PID file under systemd
        </td>
        <td>
         <code class="literal">
          /var/run/mysqld
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_systemd_service_name">
          <code class="literal">
           SYSTEMD_SERVICE_NAME
          </code>
         </a>
        </th>
        <td>
         Name of MySQL service under systemd
        </td>
        <td>
         <code class="literal">
          mysqld
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_tmpdir">
          <code class="literal">
           TMPDIR
          </code>
         </a>
        </th>
        <td>
         tmpdir default value
        </td>
        <td>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_win_debug_no_inline">
          <code class="literal">
           WIN_DEBUG_NO_INLINE
          </code>
         </a>
        </th>
        <td>
         Whether to disable function inlining
        </td>
        <td>
         <code class="literal">
          OFF
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_without_server">
          <code class="literal">
           WITHOUT_SERVER
          </code>
         </a>
        </th>
        <td>
         Do not build the server
        </td>
        <td>
         <code class="literal">
          OFF
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_storage_engine_options" title="Storage Engine Options">
          <code class="literal">
           WITHOUT_xxx_STORAGE_ENGINE
          </code>
         </a>
        </th>
        <td>
         Exclude storage engine xxx from build
        </td>
        <td>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_with_ant">
          <code class="literal">
           WITH_ANT
          </code>
         </a>
        </th>
        <td>
         Path to Ant for building GCS Java wrapper
        </td>
        <td>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_with_asan">
          <code class="literal">
           WITH_ASAN
          </code>
         </a>
        </th>
        <td>
         Enable AddressSanitizer
        </td>
        <td>
         <code class="literal">
          OFF
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_with_asan_scope">
          <code class="literal">
           WITH_ASAN_SCOPE
          </code>
         </a>
        </th>
        <td>
         Enable AddressSanitizer -fsanitize-address-use-after-scope Clang flag
        </td>
        <td>
         <code class="literal">
          OFF
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_with_authentication_client_plugins">
          <code class="literal">
           WITH_AUTHENTICATION_CLIENT_PLUGINS
          </code>
         </a>
        </th>
        <td>
         Enabled automatically if any corresponding server authentication plugins are built
        </td>
        <td>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_with_authentication_ldap">
          <code class="literal">
           WITH_AUTHENTICATION_LDAP
          </code>
         </a>
        </th>
        <td>
         Whether to report error if LDAP authentication plugins cannot be built
        </td>
        <td>
         <code class="literal">
          OFF
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_with_authentication_pam">
          <code class="literal">
           WITH_AUTHENTICATION_PAM
          </code>
         </a>
        </th>
        <td>
         Build PAM authentication plugin
        </td>
        <td>
         <code class="literal">
          OFF
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_with_aws_sdk">
          <code class="literal">
           WITH_AWS_SDK
          </code>
         </a>
        </th>
        <td>
         Location of Amazon Web Services software development kit
        </td>
        <td>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_with_build_id">
          <code class="literal">
           WITH_BUILD_ID
          </code>
         </a>
        </th>
        <td>
         On Linux systems, generate a unique build ID
        </td>
        <td>
         <code class="literal">
          ON
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_with_classpath">
          <code class="literal">
           WITH_CLASSPATH
          </code>
         </a>
        </th>
        <td>
         Classpath to use when building MySQL Cluster Connector for Java. Default is an empty string.
        </td>
        <td>
         <code class="literal">
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_with_client_protocol_tracing">
          <code class="literal">
           WITH_CLIENT_PROTOCOL_TRACING
          </code>
         </a>
        </th>
        <td>
         Build client-side protocol tracing framework
        </td>
        <td>
         <code class="literal">
          ON
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_with_curl">
          <code class="literal">
           WITH_CURL
          </code>
         </a>
        </th>
        <td>
         Location of curl library
        </td>
        <td>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_with_debug">
          <code class="literal">
           WITH_DEBUG
          </code>
         </a>
        </th>
        <td>
         Whether to include debugging support
        </td>
        <td>
         <code class="literal">
          OFF
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_with_default_compiler_options">
          <code class="literal">
           WITH_DEFAULT_COMPILER_OPTIONS
          </code>
         </a>
        </th>
        <td>
         Whether to use default compiler options
        </td>
        <td>
         <code class="literal">
          ON
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_with_developer_entitlements">
          <code class="literal">
           WITH_DEVELOPER_ENTITLEMENTS
          </code>
         </a>
        </th>
        <td>
         Whether to add the 'get-task-allow' entitlement to all executables on macOS to generate a core dump in the event of an unexpected server halt
        </td>
        <td>
         <code class="literal">
          OFF
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_with_editline">
          <code class="literal">
           WITH_EDITLINE
          </code>
         </a>
        </th>
        <td>
         Which libedit/editline library to use
        </td>
        <td>
         <code class="literal">
          bundled
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_with_error_insert">
          <code class="literal">
           WITH_ERROR_INSERT
          </code>
         </a>
        </th>
        <td>
         Enable error injection in the NDB storage engine. Should not be used for building binaries intended for production.
        </td>
        <td>
         <code class="literal">
          OFF
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_with_icu">
          <code class="literal">
           WITH_ICU
          </code>
         </a>
        </th>
        <td>
         Type of ICU support
        </td>
        <td>
         <code class="literal">
          bundled
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_with_innodb_extra_debug">
          <code class="literal">
           WITH_INNODB_EXTRA_DEBUG
          </code>
         </a>
        </th>
        <td>
         Whether to include extra debugging support for InnoDB.
        </td>
        <td>
         <code class="literal">
          OFF
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_with_jemalloc">
          <code class="literal">
           WITH_JEMALLOC
          </code>
         </a>
        </th>
        <td>
         Whether to link with -ljemalloc
        </td>
        <td>
         <code class="literal">
          OFF
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_with_ld">
          <code class="literal">
           WITH_LD
          </code>
         </a>
        </th>
        <td>
         Whether to use the LLVM lld or mold linker
        </td>
        <td>
         <code class="literal">
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_with_libevent">
          <code class="literal">
           WITH_LIBEVENT
          </code>
         </a>
        </th>
        <td>
         Which libevent library to use
        </td>
        <td>
         <code class="literal">
          bundled
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_with_libwrap">
          <code class="literal">
           WITH_LIBWRAP
          </code>
         </a>
        </th>
        <td>
         Whether to include libwrap (TCP wrappers) support
        </td>
        <td>
         <code class="literal">
          OFF
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_with_lock_order">
          <code class="literal">
           WITH_LOCK_ORDER
          </code>
         </a>
        </th>
        <td>
         Whether to enable LOCK_ORDER tooling
        </td>
        <td>
         <code class="literal">
          OFF
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_with_lsan">
          <code class="literal">
           WITH_LSAN
          </code>
         </a>
        </th>
        <td>
         Whether to run LeakSanitizer, without AddressSanitizer
        </td>
        <td>
         <code class="literal">
          OFF
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_with_lto">
          <code class="literal">
           WITH_LTO
          </code>
         </a>
        </th>
        <td>
         Enable link-time optimizer
        </td>
        <td>
         <code class="literal">
          OFF
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_with_lz4">
          <code class="literal">
           WITH_LZ4
          </code>
         </a>
        </th>
        <td>
         Type of LZ4 library support
        </td>
        <td>
         <code class="literal">
          bundled
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_with_mecab">
          <code class="literal">
           WITH_MECAB
          </code>
         </a>
        </th>
        <td>
         Compiles MeCab
        </td>
        <td>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_with_msan">
          <code class="literal">
           WITH_MSAN
          </code>
         </a>
        </th>
        <td>
         Enable MemorySanitizer
        </td>
        <td>
         <code class="literal">
          OFF
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_with_mscrt_debug">
          <code class="literal">
           WITH_MSCRT_DEBUG
          </code>
         </a>
        </th>
        <td>
         Enable Visual Studio CRT memory leak tracing
        </td>
        <td>
         <code class="literal">
          OFF
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_with_mysqlx">
          <code class="literal">
           WITH_MYSQLX
          </code>
         </a>
        </th>
        <td>
         Whether to disable X Protocol
        </td>
        <td>
         <code class="literal">
          ON
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_with_ndb">
          <code class="literal">
           WITH_NDB
          </code>
         </a>
        </th>
        <td>
         Build MySQL NDB Cluster, including NDB storage engine and all NDB programs
        </td>
        <td>
         <code class="literal">
          OFF
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_with_ndbapi_examples">
          <code class="literal">
           WITH_NDBAPI_EXAMPLES
          </code>
         </a>
        </th>
        <td>
         Build API example programs.
        </td>
        <td>
         <code class="literal">
          OFF
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_with_ndbcluster">
          <code class="literal">
           WITH_NDBCLUSTER
          </code>
         </a>
        </th>
        <td>
         NDB 8.0.30 and earlier: Build NDB storage engine. NDB 8.0.31 and later: Deprecated; use WITH_NDB instead
        </td>
        <td>
         <code class="literal">
          OFF
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_with_ndbcluster_storage_engine">
          <code class="literal">
           WITH_NDBCLUSTER_STORAGE_ENGINE
          </code>
         </a>
        </th>
        <td>
         Prior to NDB 8.0.31, this was for internal use only. NDB 8.0.31 and later: toggles (only) inclusion of NDBCLUSTER storage engine
        </td>
        <td>
         <code class="literal">
          ON
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_with_ndbmtd">
          <code class="literal">
           WITH_NDBMTD
          </code>
         </a>
        </th>
        <td>
         Build multithreaded data node binary
        </td>
        <td>
         <code class="literal">
          ON
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_with_ndb_debug">
          <code class="literal">
           WITH_NDB_DEBUG
          </code>
         </a>
        </th>
        <td>
         Produce a debug build for testing or troubleshooting.
        </td>
        <td>
         <code class="literal">
          OFF
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_with_ndb_java">
          <code class="literal">
           WITH_NDB_JAVA
          </code>
         </a>
        </th>
        <td>
         Enable building of Java and ClusterJ support. Enabled by default. Supported in MySQL Cluster only.
        </td>
        <td>
         <code class="literal">
          ON
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_with_ndb_port">
          <code class="literal">
           WITH_NDB_PORT
          </code>
         </a>
        </th>
        <td>
         Default port used by a management server built with this option. If this option was not used to build it, the management server's default port is 1186.
        </td>
        <td>
         <code class="literal">
          [none]
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_with_ndb_test">
          <code class="literal">
           WITH_NDB_TEST
          </code>
         </a>
        </th>
        <td>
         Include NDB API test programs.
        </td>
        <td>
         <code class="literal">
          OFF
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_with_ndb_tls_search_path">
          <code class="literal">
           WITH_NDB_TLS_SEARCH_PATH
          </code>
         </a>
        </th>
        <td>
         Default path used by NDB programs to search for TLS certificate and key files.
        </td>
        <td>
         <code class="literal">
          $HOME/ndb-tls
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_with_numa">
          <code class="literal">
           WITH_NUMA
          </code>
         </a>
        </th>
        <td>
         Set NUMA memory allocation policy
        </td>
        <td>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_with_package_flags">
          <code class="literal">
           WITH_PACKAGE_FLAGS
          </code>
         </a>
        </th>
        <td>
         For flags typically used for RPM/DEB packages, whether to add them to standalone builds on those platforms
        </td>
        <td>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_with_protobuf">
          <code class="literal">
           WITH_PROTOBUF
          </code>
         </a>
        </th>
        <td>
         Which Protocol Buffers package to use
        </td>
        <td>
         <code class="literal">
          bundled
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_with_rapid">
          <code class="literal">
           WITH_RAPID
          </code>
         </a>
        </th>
        <td>
         Whether to build rapid development cycle plugins
        </td>
        <td>
         <code class="literal">
          ON
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_with_rapidjson">
          <code class="literal">
           WITH_RAPIDJSON
          </code>
         </a>
        </th>
        <td>
         Type of RapidJSON support
        </td>
        <td>
         <code class="literal">
          bundled
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_with_router">
          <code class="literal">
           WITH_ROUTER
          </code>
         </a>
        </th>
        <td>
         Whether to build MySQL Router
        </td>
        <td>
         <code class="literal">
          ON
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_with_sasl">
          <code class="literal">
           WITH_SASL
          </code>
         </a>
        </th>
        <td>
         Internal use only
        </td>
        <td>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_with_show_parse_tree">
          <code class="literal">
           WITH_SHOW_PARSE_TREE
          </code>
         </a>
        </th>
        <td>
         Support for SHOW PARSE_TREE debugging statement
        </td>
        <td>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_with_ssl">
          <code class="literal">
           WITH_SSL
          </code>
         </a>
        </th>
        <td>
         Type of SSL support
        </td>
        <td>
         <code class="literal">
          system
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_with_systemd">
          <code class="literal">
           WITH_SYSTEMD
          </code>
         </a>
        </th>
        <td>
         Enable installation of systemd support files
        </td>
        <td>
         <code class="literal">
          OFF
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_with_systemd_debug">
          <code class="literal">
           WITH_SYSTEMD_DEBUG
          </code>
         </a>
        </th>
        <td>
         Enable additional systemd debug information
        </td>
        <td>
         <code class="literal">
          OFF
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_with_system_libs">
          <code class="literal">
           WITH_SYSTEM_LIBS
          </code>
         </a>
        </th>
        <td>
         Set system value of library options not set explicitly
        </td>
        <td>
         <code class="literal">
          OFF
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_with_tcmalloc">
          <code class="literal">
           WITH_TCMALLOC
          </code>
         </a>
        </th>
        <td>
         Whether to link with -ltcmalloc. BUNDLED is supported on Linux only
        </td>
        <td>
         <code class="literal">
          OFF
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_with_test_trace_plugin">
          <code class="literal">
           WITH_TEST_TRACE_PLUGIN
          </code>
         </a>
        </th>
        <td>
         Build test protocol trace plugin
        </td>
        <td>
         <code class="literal">
          OFF
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_with_tsan">
          <code class="literal">
           WITH_TSAN
          </code>
         </a>
        </th>
        <td>
         Enable ThreadSanitizer
        </td>
        <td>
         <code class="literal">
          OFF
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_with_ubsan">
          <code class="literal">
           WITH_UBSAN
          </code>
         </a>
        </th>
        <td>
         Enable Undefined Behavior Sanitizer
        </td>
        <td>
         <code class="literal">
          OFF
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_with_unit_tests">
          <code class="literal">
           WITH_UNIT_TESTS
          </code>
         </a>
        </th>
        <td>
         Compile MySQL with unit tests
        </td>
        <td>
         <code class="literal">
          ON
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_with_unixodbc">
          <code class="literal">
           WITH_UNIXODBC
          </code>
         </a>
        </th>
        <td>
         Enable unixODBC support
        </td>
        <td>
         <code class="literal">
          OFF
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_with_valgrind">
          <code class="literal">
           WITH_VALGRIND
          </code>
         </a>
        </th>
        <td>
         Whether to compile in Valgrind header files
        </td>
        <td>
         <code class="literal">
          OFF
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_with_win_jemalloc">
          <code class="literal">
           WITH_WIN_JEMALLOC
          </code>
         </a>
        </th>
        <td>
         Path to directory containing jemalloc.dll
        </td>
        <td>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_with_zlib">
          <code class="literal">
           WITH_ZLIB
          </code>
         </a>
        </th>
        <td>
         Type of zlib support
        </td>
        <td>
         <code class="literal">
          bundled
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_with_zstd">
          <code class="literal">
           WITH_ZSTD
          </code>
         </a>
        </th>
        <td>
         Type of zstd support
        </td>
        <td>
         <code class="literal">
          bundled
         </code>
        </td>
       </tr>
       <tr>
        <th scope="row">
         <a class="link" href="source-configuration-options.html#option_cmake_storage_engine_options" title="Storage Engine Options">
          <code class="literal">
           WITH_xxx_STORAGE_ENGINE
          </code>
         </a>
        </th>
        <td>
         Compile storage engine xxx statically into server
        </td>
        <td>
        </td>
       </tr>
      </tbody>
     </table>
    </div>
    <div class="table-contents">
     <table cellpadding="0" cellspacing="0" style="position: fixed; top: 0px; display: none; left: 401px; width: 739px;">
      <thead>
       <tr>
        <th scope="col" style="width: 283.266px;">
         Formats
        </th>
        <th scope="col" style="width: 252.719px;">
         Description
        </th>
        <th scope="col" style="width: 202.016px;">
         Default
        </th>
       </tr>
      </thead>
     </table>
    </div>
   </div>
   <br class="table-break"/>
  </div>
  <div class="simplesect">
   <div class="titlepage">
    <div>
     <div class="simple">
      <h4 class="title">
       <a name="cmake-general-options">
       </a>
       General Options
      </h4>
     </div>
    </div>
   </div>
   <div class="itemizedlist">
    <ul class="itemizedlist" style="list-style-type: disc; ">
     <li class="listitem">
      <p>
       <a name="option_cmake_build_config">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_build_config">
        <code class="option">
         -DBUILD_CONFIG=mysql_release
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045328641824">
      </a>
      <a class="indexterm" name="idm46045328640336">
      </a>
      <p>
       This option configures a source distribution with the same
            build options used by Oracle to produce binary distributions
            for official MySQL releases.
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_with_build_id">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_with_build_id">
        <code class="option">
         -DWITH_BUILD_ID=
         <em class="replaceable">
          <code>
           bool
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045328635728">
      </a>
      <a class="indexterm" name="idm46045328634240">
      </a>
      <p>
       On Linux systems, generates a unique build ID which is used
            as the value of the
       <a class="link" href="server-system-variables.html#sysvar_build_id">
        <code class="literal">
         build_id
        </code>
       </a>
       system variable
            and written to the MySQL server log on startup. Set this
            option to
       <code class="literal">
        OFF
       </code>
       to disable this feature.
      </p>
      <p>
       This option has no effect on platforms other than Linux.
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_bundle_runtime_libraries">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_bundle_runtime_libraries">
        <code class="option">
         -DBUNDLE_RUNTIME_LIBRARIES=
         <em class="replaceable">
          <code>
           bool
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045328627216">
      </a>
      <a class="indexterm" name="idm46045328625712">
      </a>
      <p>
       Whether to bundle runtime libraries with server MSI and Zip
            packages for Windows.
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_cmake_build_type">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_cmake_build_type">
        <code class="option">
         -DCMAKE_BUILD_TYPE=
         <em class="replaceable">
          <code>
           type
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045328621232">
      </a>
      <a class="indexterm" name="idm46045328619744">
      </a>
      <p>
       The type of build to produce:
      </p>
      <div class="itemizedlist">
       <ul class="itemizedlist" style="list-style-type: circle; ">
        <li class="listitem">
         <p>
          <code class="literal">
           RelWithDebInfo
          </code>
          : Enable optimizations
                and generate debugging information. This is the default
                MySQL build type.
         </p>
        </li>
        <li class="listitem">
         <p>
          <code class="literal">
           Release
          </code>
          : Enable optimizations but
                omit debugging information to reduce the build size.
         </p>
        </li>
        <li class="listitem">
         <p>
          <code class="literal">
           Debug
          </code>
          : Disable optimizations and
                generate debugging information. This build type is also
                used if the
          <a class="link" href="source-configuration-options.html#option_cmake_with_debug">
           <code class="option">
            WITH_DEBUG
           </code>
          </a>
          option is enabled. That is,
          <a class="link" href="source-configuration-options.html#option_cmake_with_debug">
           <code class="option">
            -DWITH_DEBUG=1
           </code>
          </a>
          has the
                same effect as
          <a class="link" href="source-configuration-options.html#option_cmake_cmake_build_type">
           <code class="option">
            -DCMAKE_BUILD_TYPE=Debug
           </code>
          </a>
          .
         </p>
        </li>
       </ul>
      </div>
      <p>
       The option values
       <code class="literal">
        None
       </code>
       and
       <code class="literal">
        MinSizeRel
       </code>
       are not supported.
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_cpack_monolithic_install">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_cpack_monolithic_install">
        <code class="option">
         -DCPACK_MONOLITHIC_INSTALL=
         <em class="replaceable">
          <code>
           bool
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045328605264">
      </a>
      <a class="indexterm" name="idm46045328603760">
      </a>
      <p>
       This option affects whether the
       <span class="command">
        <strong>
         make
            package
        </strong>
       </span>
       operation produces multiple installation
            package files or a single file. If disabled, the operation
            produces multiple installation package files, which may be
            useful if you want to install only a subset of a full MySQL
            installation. If enabled, it produces a single file for
            installing everything.
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_force_insource_build">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_force_insource_build">
        <code class="option">
         -DFORCE_INSOURCE_BUILD=
         <em class="replaceable">
          <code>
           bool
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045328598192">
      </a>
      <a class="indexterm" name="idm46045328596736">
      </a>
      <p>
       Defines whether to force an in-source build. Out-of-source
            builds are recommended, as they permit multiple builds from
            the same source, and cleanup can be performed quickly by
            removing the build directory. To force an in-source build,
            invoke
       <span class="command">
        <strong>
         CMake
        </strong>
       </span>
       with
       <a class="link" href="source-configuration-options.html#option_cmake_force_insource_build">
        <code class="option">
         -DFORCE_INSOURCE_BUILD=ON
        </code>
       </a>
       .
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_force_colored_output">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_force_colored_output">
        <code class="option">
         -DFORCE_COLORED_OUTPUT=
         <em class="replaceable">
          <code>
           bool
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045328590336">
      </a>
      <a class="indexterm" name="idm46045328588880">
      </a>
      <p>
       Defines whether to enable colorized compiler output for
       <span class="command">
        <strong>
         gcc
        </strong>
       </span>
       and
       <span class="command">
        <strong>
         clang
        </strong>
       </span>
       when
            compiling on the command line. Defaults to
       <code class="literal">
        OFF
       </code>
       .
      </p>
     </li>
    </ul>
   </div>
  </div>
  <div class="simplesect">
   <div class="titlepage">
    <div>
     <div class="simple">
      <h4 class="title">
       <a name="cmake-installation-layout-options">
       </a>
       Installation Layout Options
      </h4>
     </div>
    </div>
   </div>
   <p>
    The
    <a class="link" href="source-configuration-options.html#option_cmake_cmake_install_prefix">
     <code class="option">
      CMAKE_INSTALL_PREFIX
     </code>
    </a>
    option
        indicates the base installation directory. Other options with
        names of the form
    <code class="literal">
     INSTALL_
     <em class="replaceable">
      <code>
       xxx
      </code>
     </em>
    </code>
    that
        indicate component locations are interpreted relative to the
        prefix and their values are relative pathnames. Their values
        should not include the prefix.
   </p>
   <div class="itemizedlist">
    <ul class="itemizedlist" style="list-style-type: disc; ">
     <li class="listitem">
      <p>
       <a name="option_cmake_cmake_install_prefix">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_cmake_install_prefix">
        <code class="option">
         -DCMAKE_INSTALL_PREFIX=
         <em class="replaceable">
          <code>
           dir_name
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045328577792">
      </a>
      <a class="indexterm" name="idm46045328576336">
      </a>
      <p>
       The installation base directory.
      </p>
      <p>
       This value can be set at server startup using the
       <a class="link" href="server-system-variables.html#sysvar_basedir">
        <code class="option">
         --basedir
        </code>
       </a>
       option.
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_install_bindir">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_install_bindir">
        <code class="option">
         -DINSTALL_BINDIR=
         <em class="replaceable">
          <code>
           dir_name
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045328570400">
      </a>
      <a class="indexterm" name="idm46045328568912">
      </a>
      <p>
       Where to install user programs.
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_install_docdir">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_install_docdir">
        <code class="option">
         -DINSTALL_DOCDIR=
         <em class="replaceable">
          <code>
           dir_name
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045328564560">
      </a>
      <a class="indexterm" name="idm46045328563072">
      </a>
      <p>
       Where to install documentation.
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_install_docreadmedir">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_install_docreadmedir">
        <code class="option">
         -DINSTALL_DOCREADMEDIR=
         <em class="replaceable">
          <code>
           dir_name
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045328558656">
      </a>
      <a class="indexterm" name="idm46045328557200">
      </a>
      <p>
       Where to install
       <code class="filename">
        README
       </code>
       files.
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_install_includedir">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_install_includedir">
        <code class="option">
         -DINSTALL_INCLUDEDIR=
         <em class="replaceable">
          <code>
           dir_name
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045328552080">
      </a>
      <a class="indexterm" name="idm46045328550624">
      </a>
      <p>
       Where to install header files.
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_install_infodir">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_install_infodir">
        <code class="option">
         -DINSTALL_INFODIR=
         <em class="replaceable">
          <code>
           dir_name
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045328546144">
      </a>
      <a class="indexterm" name="idm46045328544656">
      </a>
      <p>
       Where to install Info files.
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_install_layout">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_install_layout">
        <code class="option">
         -DINSTALL_LAYOUT=
         <em class="replaceable">
          <code>
           name
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045328540240">
      </a>
      <a class="indexterm" name="idm46045328538752">
      </a>
      <p>
       Select a predefined installation layout:
      </p>
      <div class="itemizedlist">
       <ul class="itemizedlist" style="list-style-type: circle; ">
        <li class="listitem">
         <p>
          <code class="literal">
           STANDALONE
          </code>
          : Same layout as used for
          <code class="filename">
           .tar.gz
          </code>
          and
          <code class="filename">
           .zip
          </code>
          packages. This is the default.
         </p>
        </li>
        <li class="listitem">
         <p>
          <code class="literal">
           RPM
          </code>
          : Layout similar to RPM packages.
         </p>
        </li>
        <li class="listitem">
         <p>
          <code class="literal">
           SVR4
          </code>
          : Solaris package layout.
         </p>
        </li>
        <li class="listitem">
         <p>
          <code class="literal">
           DEB
          </code>
          : DEB package layout
                (experimental).
         </p>
        </li>
       </ul>
      </div>
      <p>
       You can select a predefined layout but modify individual
            component installation locations by specifying other
            options. For example:
      </p>
      <div class="copytoclipboard-wrapper">
       <pre class="programlisting one-line language-terminal"><div class="docs-select-all right" id="sa18357326"><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">cmake <span class="token punctuation">.</span> <span class="token constant">-DINSTALL_LAYOUT</span><span class="token attr-value"><span class="token punctuation">=</span>SVR4</span> <span class="token constant">-DMYSQL_DATADIR</span><span class="token attr-value"><span class="token punctuation">=</span>/var/mysql/data</span></code></pre>
      </div>
      <p>
       The
       <a class="link" href="source-configuration-options.html#option_cmake_install_layout">
        <code class="option">
         INSTALL_LAYOUT
        </code>
       </a>
       value
            determines the default value of the
       <a class="link" href="server-system-variables.html#sysvar_secure_file_priv">
        <code class="literal">
         secure_file_priv
        </code>
       </a>
       system
            variable. See the description of this variable in
       <a class="xref" href="server-system-variables.html" title="7.1.8 Server System Variables">
        Section 7.1.8, “Server System Variables”
       </a>
       .
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_install_libdir">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_install_libdir">
        <code class="option">
         -DINSTALL_LIBDIR=
         <em class="replaceable">
          <code>
           dir_name
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045328521488">
      </a>
      <a class="indexterm" name="idm46045328520000">
      </a>
      <p>
       Where to install library files.
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_install_mandir">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_install_mandir">
        <code class="option">
         -DINSTALL_MANDIR=
         <em class="replaceable">
          <code>
           dir_name
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045328515648">
      </a>
      <a class="indexterm" name="idm46045328514160">
      </a>
      <p>
       Where to install manual pages.
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_install_mysqlsharedir">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_install_mysqlsharedir">
        <code class="option">
         -DINSTALL_MYSQLSHAREDIR=
         <em class="replaceable">
          <code>
           dir_name
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045328509776">
      </a>
      <a class="indexterm" name="idm46045328508272">
      </a>
      <p>
       Where to install shared data files.
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_install_mysqltestdir">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_install_mysqltestdir">
        <code class="option">
         -DINSTALL_MYSQLTESTDIR=
         <em class="replaceable">
          <code>
           dir_name
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045328503840">
      </a>
      <a class="indexterm" name="idm46045328502384">
      </a>
      <p>
       Where to install the
       <code class="filename">
        mysql-test
       </code>
       directory. To suppress installation of this directory,
            explicitly set the option to the empty value
            (
       <a class="link" href="source-configuration-options.html#option_cmake_install_mysqltestdir">
        <code class="option">
         -DINSTALL_MYSQLTESTDIR=
        </code>
       </a>
       ).
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_install_pkgconfigdir">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_install_pkgconfigdir">
        <code class="option">
         -DINSTALL_PKGCONFIGDIR=
         <em class="replaceable">
          <code>
           dir_name
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045328496144">
      </a>
      <a class="indexterm" name="idm46045328494688">
      </a>
      <p>
       The directory in which to install the
       <code class="filename">
        mysqlclient.pc
       </code>
       file for use by
       <span class="command">
        <strong>
         pkg-config
        </strong>
       </span>
       . The default value is
       <code class="literal">
        INSTALL_LIBDIR/pkgconfig
       </code>
       , unless
       <a class="link" href="source-configuration-options.html#option_cmake_install_libdir">
        <code class="option">
         INSTALL_LIBDIR
        </code>
       </a>
       ends with
       <code class="literal">
        /mysql
       </code>
       , in which case that is removed
            first.
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_install_plugindir">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_install_plugindir">
        <code class="option">
         -DINSTALL_PLUGINDIR=
         <em class="replaceable">
          <code>
           dir_name
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045328486288">
      </a>
      <a class="indexterm" name="idm46045328484832">
      </a>
      <p>
       The location of the plugin directory.
      </p>
      <p>
       This value can be set at server startup with the
       <a class="link" href="server-system-variables.html#sysvar_plugin_dir">
        <code class="option">
         --plugin_dir
        </code>
       </a>
       option.
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_install_priv_libdir">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_install_priv_libdir">
        <code class="option">
         -DINSTALL_PRIV_LIBDIR=
         <em class="replaceable">
          <code>
           dir_name
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045328478960">
      </a>
      <a class="indexterm" name="idm46045328477504">
      </a>
      <p>
       The location of the dynamic library directory.
      </p>
      <p>
       <b>
        Default location.
       </b>
       For RPM builds, this is
       <code class="filename">
        /usr/lib64/mysql/private/
       </code>
       , for DEB it
              is
       <code class="filename">
        /usr/lib/mysql/private/
       </code>
       , and for
              TAR it is
       <code class="filename">
        lib/private/
       </code>
       .
      </p>
      <p>
       <b>
        Protobuf.
       </b>
       Because this is a private location, the loader (such as
       <code class="filename">
        ld-linux.so
       </code>
       on Linux) may not find
              the
       <code class="filename">
        libprotobuf.so
       </code>
       files without
              help. To guide the loader,
       <code class="literal">
        RPATH=$ORIGIN/../$INSTALL_PRIV_LIBDIR
       </code>
       is added to
       <a class="link" href="mysqld.html" title="6.3.1 mysqld — The MySQL Server">
        <span class="command">
         <strong>
          mysqld
         </strong>
        </span>
       </a>
       and
       <span class="command">
        <strong>
         mysqlxtest
        </strong>
       </span>
       . This works for most cases
              but when using the
       <a class="link" href="resource-groups.html" title="7.1.16 Resource Groups">
        Resource Group
       </a>
       feature,
       <a class="link" href="mysqld.html" title="6.3.1 mysqld — The MySQL Server">
        <span class="command">
         <strong>
          mysqld
         </strong>
        </span>
       </a>
       is
       <code class="literal">
        setsuid
       </code>
       , and the loader ignores any
       <code class="literal">
        RPATH
       </code>
       which contains
       <code class="literal">
        $ORIGIN
       </code>
       . To overcome this, an explicit
              full path to the directory is set in the DEB and RPM
              versions of
       <a class="link" href="mysqld.html" title="6.3.1 mysqld — The MySQL Server">
        <span class="command">
         <strong>
          mysqld
         </strong>
        </span>
       </a>
       , since the target
              destination is known. For tarball installs, patching of
       <a class="link" href="mysqld.html" title="6.3.1 mysqld — The MySQL Server">
        <span class="command">
         <strong>
          mysqld
         </strong>
        </span>
       </a>
       with a tool like
       <span class="command">
        <strong>
         patchelf
        </strong>
       </span>
       is required.
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_install_sbindir">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_install_sbindir">
        <code class="option">
         -DINSTALL_SBINDIR=
         <em class="replaceable">
          <code>
           dir_name
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045328456176">
      </a>
      <a class="indexterm" name="idm46045328454688">
      </a>
      <p>
       Where to install the
       <a class="link" href="mysqld.html" title="6.3.1 mysqld — The MySQL Server">
        <span class="command">
         <strong>
          mysqld
         </strong>
        </span>
       </a>
       server.
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_install_secure_file_privdir">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_install_secure_file_privdir">
        <code class="option">
         -DINSTALL_SECURE_FILE_PRIVDIR=
         <em class="replaceable">
          <code>
           dir_name
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045328448960">
      </a>
      <a class="indexterm" name="idm46045328447456">
      </a>
      <p>
       The default value for the
       <a class="link" href="server-system-variables.html#sysvar_secure_file_priv">
        <code class="literal">
         secure_file_priv
        </code>
       </a>
       system
            variable. The default value is platform specific and depends
            on the value of the
       <a class="link" href="source-configuration-options.html#option_cmake_install_layout">
        <code class="option">
         INSTALL_LAYOUT
        </code>
       </a>
       <span class="command">
        <strong>
         CMake
        </strong>
       </span>
       option; see the description of the
       <a class="link" href="server-system-variables.html#sysvar_secure_file_priv">
        <code class="literal">
         secure_file_priv
        </code>
       </a>
       system
            variable in
       <a class="xref" href="server-system-variables.html" title="7.1.8 Server System Variables">
        Section 7.1.8, “Server System Variables”
       </a>
       .
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_install_sharedir">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_install_sharedir">
        <code class="option">
         -DINSTALL_SHAREDIR=
         <em class="replaceable">
          <code>
           dir_name
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045328438064">
      </a>
      <a class="indexterm" name="idm46045328436576">
      </a>
      <p>
       Where to install
       <code class="filename">
        aclocal/mysql.m4
       </code>
       .
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_install_static_libraries">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_install_static_libraries">
        <code class="option">
         -DINSTALL_STATIC_LIBRARIES=
         <em class="replaceable">
          <code>
           bool
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045328431488">
      </a>
      <a class="indexterm" name="idm46045328429984">
      </a>
      <p>
       Whether to install static libraries. The default is
       <code class="literal">
        ON
       </code>
       . If set to
       <code class="literal">
        OFF
       </code>
       ,
            these library files are not installed:
       <code class="filename">
        libmysqlclient.a
       </code>
       ,
       <code class="filename">
        libmysqlservices.a
       </code>
       .
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_install_supportfilesdir">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_install_supportfilesdir">
        <code class="option">
         -DINSTALL_SUPPORTFILESDIR=
         <em class="replaceable">
          <code>
           dir_name
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045328422704">
      </a>
      <a class="indexterm" name="idm46045328421200">
      </a>
      <p>
       Where to install extra support files.
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_link_randomize">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_link_randomize">
        <code class="option">
         -DLINK_RANDOMIZE=
         <em class="replaceable">
          <code>
           bool
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045328416704">
      </a>
      <a class="indexterm" name="idm46045328415216">
      </a>
      <p>
       Whether to randomize the order of symbols in the
       <a class="link" href="mysqld.html" title="6.3.1 mysqld — The MySQL Server">
        <span class="command">
         <strong>
          mysqld
         </strong>
        </span>
       </a>
       binary. The default is
       <code class="literal">
        OFF
       </code>
       . This option should be enabled only
            for debugging purposes.
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_link_randomize_seed">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_link_randomize_seed">
        <code class="option">
         -DLINK_RANDOMIZE_SEED=
         <em class="replaceable">
          <code>
           val
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045328408864">
      </a>
      <a class="indexterm" name="idm46045328407360">
      </a>
      <p>
       Seed value for the
       <a class="link" href="source-configuration-options.html#option_cmake_link_randomize">
        <code class="option">
         LINK_RANDOMIZE
        </code>
       </a>
       option. The
            value is a string. The default is
       <code class="literal">
        mysql
       </code>
       ,
            an arbitrary choice.
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_mysql_datadir">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_mysql_datadir">
        <code class="option">
         -DMYSQL_DATADIR=
         <em class="replaceable">
          <code>
           dir_name
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045328401088">
      </a>
      <a class="indexterm" name="idm46045328399600">
      </a>
      <p>
       The location of the MySQL data directory.
      </p>
      <p>
       This value can be set at server startup with the
       <a class="link" href="server-system-variables.html#sysvar_datadir">
        <code class="option">
         --datadir
        </code>
       </a>
       option.
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_odbc_includes">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_odbc_includes">
        <code class="option">
         -DODBC_INCLUDES=
         <em class="replaceable">
          <code>
           dir_name
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045328393728">
      </a>
      <a class="indexterm" name="idm46045328392240">
      </a>
      <p>
       The location of the ODBC includes directory, which may be
            used while configuring Connector/ODBC.
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_odbc_lib_dir">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_odbc_lib_dir">
        <code class="option">
         -DODBC_LIB_DIR=
         <em class="replaceable">
          <code>
           dir_name
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045328387744">
      </a>
      <a class="indexterm" name="idm46045328386256">
      </a>
      <p>
       The location of the ODBC library directory, which may be
            used while configuring Connector/ODBC.
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_sysconfdir">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_sysconfdir">
        <code class="option">
         -DSYSCONFDIR=
         <em class="replaceable">
          <code>
           dir_name
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045328381872">
      </a>
      <a class="indexterm" name="idm46045328380384">
      </a>
      <p>
       The default
       <code class="filename">
        my.cnf
       </code>
       option file
            directory.
      </p>
      <p>
       This location cannot be set at server startup, but you can
            start the server with a given option file using the
       <a class="link" href="option-file-options.html#option_general_defaults-file">
        <code class="option">
         --defaults-file=
         <em class="replaceable">
          <code>
           file_name
          </code>
         </em>
        </code>
       </a>
       option, where
       <em class="replaceable">
        <code>
         file_name
        </code>
       </em>
       is the
            full path name to the file.
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_systemd_pid_dir">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_systemd_pid_dir">
        <code class="option">
         -DSYSTEMD_PID_DIR=
         <em class="replaceable">
          <code>
           dir_name
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045328372848">
      </a>
      <a class="indexterm" name="idm46045328371360">
      </a>
      <a class="indexterm" name="idm46045328369872">
      </a>
      <p>
       The name of the directory in which to create the PID file
            when MySQL is managed by systemd. The default is
       <code class="filename">
        /var/run/mysqld
       </code>
       ; this might be changed
            implicitly according to the
       <a class="link" href="source-configuration-options.html#option_cmake_install_layout">
        <code class="option">
         INSTALL_LAYOUT
        </code>
       </a>
       value.
      </p>
      <p>
       This option is ignored unless
       <a class="link" href="source-configuration-options.html#option_cmake_with_systemd">
        <code class="option">
         WITH_SYSTEMD
        </code>
       </a>
       is enabled.
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_systemd_service_name">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_systemd_service_name">
        <code class="option">
         -DSYSTEMD_SERVICE_NAME=
         <em class="replaceable">
          <code>
           name
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045328362128">
      </a>
      <a class="indexterm" name="idm46045328360672">
      </a>
      <a class="indexterm" name="idm46045328359168">
      </a>
      <p>
       The name of the MySQL service to use when MySQL is managed
            by
       <span class="command">
        <strong>
         systemd
        </strong>
       </span>
       . The default is
       <code class="literal">
        mysqld
       </code>
       ; this might be changed implicitly
            according to the
       <a class="link" href="source-configuration-options.html#option_cmake_install_layout">
        <code class="option">
         INSTALL_LAYOUT
        </code>
       </a>
       value.
      </p>
      <p>
       This option is ignored unless
       <a class="link" href="source-configuration-options.html#option_cmake_with_systemd">
        <code class="option">
         WITH_SYSTEMD
        </code>
       </a>
       is enabled.
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_tmpdir">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_tmpdir">
        <code class="option">
         -DTMPDIR=
         <em class="replaceable">
          <code>
           dir_name
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045328350816">
      </a>
      <a class="indexterm" name="idm46045328349328">
      </a>
      <p>
       The default location to use for the
       <a class="link" href="server-system-variables.html#sysvar_tmpdir">
        <code class="literal">
         tmpdir
        </code>
       </a>
       system variable. If
            unspecified, the value defaults to
       <code class="literal">
        P_tmpdir
       </code>
       in
       <code class="literal">
        &lt;stdio.h&gt;
       </code>
       .
      </p>
     </li>
    </ul>
   </div>
  </div>
  <div class="simplesect">
   <div class="titlepage">
    <div>
     <div class="simple">
      <h4 class="title">
       <a name="option_cmake_storage_engine_options">
       </a>
       Storage Engine Options
      </h4>
     </div>
    </div>
   </div>
   <p>
    Storage engines are built as plugins. You can build a plugin as
        a static module (compiled into the server) or a dynamic module
        (built as a dynamic library that must be installed into the
        server using the
    <a class="link" href="install-plugin.html" title="15.7.4.4 INSTALL PLUGIN Statement">
     <code class="literal">
      INSTALL PLUGIN
     </code>
    </a>
    statement or the
    <a class="link" href="server-options.html#option_mysqld_plugin-load">
     <code class="option">
      --plugin-load
     </code>
    </a>
    option before it can be used). Some plugins might not support
        static or dynamic building.
   </p>
   <p>
    The
    <a class="link" href="innodb-storage-engine.html" title="Chapter 17 The InnoDB Storage Engine">
     <code class="literal">
      InnoDB
     </code>
    </a>
    ,
    <a class="link" href="myisam-storage-engine.html" title="18.2 The MyISAM Storage Engine">
     <code class="literal">
      MyISAM
     </code>
    </a>
    ,
    <a class="link" href="merge-storage-engine.html" title="18.7 The MERGE Storage Engine">
     <code class="literal">
      MERGE
     </code>
    </a>
    ,
    <a class="link" href="memory-storage-engine.html" title="18.3 The MEMORY Storage Engine">
     <code class="literal">
      MEMORY
     </code>
    </a>
    , and
    <a class="link" href="csv-storage-engine.html" title="18.4 The CSV Storage Engine">
     <code class="literal">
      CSV
     </code>
    </a>
    engines are mandatory (always
        compiled into the server) and need not be installed explicitly.
   </p>
   <p>
    To compile a storage engine statically into the server, use
    <code class="option">
     -DWITH_
     <em class="replaceable">
      <code>
       engine
      </code>
     </em>
     _STORAGE_ENGINE=1
    </code>
    .
        Some permissible
    <em class="replaceable">
     <code>
      engine
     </code>
    </em>
    values are
    <code class="literal">
     ARCHIVE
    </code>
    ,
    <code class="literal">
     BLACKHOLE
    </code>
    ,
    <code class="literal">
     EXAMPLE
    </code>
    , and
    <code class="literal">
     FEDERATED
    </code>
    .
        Examples:
   </p>
   <div class="copytoclipboard-wrapper">
    <pre class="programlisting language-ini"><div class="docs-select-all right" id="sa39212742"><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-ini"><span class="token constant">-DWITH_ARCHIVE_STORAGE_ENGINE</span><span class="token attr-value"><span class="token punctuation">=</span>1</span>
<span class="token constant">-DWITH_BLACKHOLE_STORAGE_ENGINE</span><span class="token attr-value"><span class="token punctuation">=</span>1</span></code></pre>
   </div>
   <p>
    To build MySQL with support for NDB Cluster, use the
    <a class="link" href="source-configuration-options.html#option_cmake_with_ndb">
     <code class="option">
      WITH_NDB
     </code>
    </a>
    option.
   </p>
   <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
    <div class="admon-title">
     Note
    </div>
    <p>
     It is not possible to compile without Performance Schema
          support. If it is desired to compile without particular types
          of instrumentation, that can be done with the following
     <span class="command">
      <strong>
       CMake
      </strong>
     </span>
     options:
    </p>
    <div class="copytoclipboard-wrapper">
     <pre class="programlisting language-simple"><div class="docs-select-all right" id="sa48586264"><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-simple">DISABLE_PSI_COND
DISABLE_PSI_DATA_LOCK
DISABLE_PSI_ERROR
DISABLE_PSI_FILE
DISABLE_PSI_IDLE
DISABLE_PSI_MEMORY
DISABLE_PSI_METADATA
DISABLE_PSI_MUTEX
DISABLE_PSI_PS
DISABLE_PSI_RWLOCK
DISABLE_PSI_SOCKET
DISABLE_PSI_SP
DISABLE_PSI_STAGE
DISABLE_PSI_STATEMENT
DISABLE_PSI_STATEMENT_DIGEST
DISABLE_PSI_TABLE
DISABLE_PSI_THREAD
DISABLE_PSI_TRANSACTION</code></pre>
    </div>
    <p>
     For example, to compile without mutex instrumentation,
          configure MySQL using
     <a class="link" href="source-configuration-options.html#option_cmake_disable_psi_mutex">
      <code class="option">
       -DDISABLE_PSI_MUTEX=1
      </code>
     </a>
     .
    </p>
   </div>
   <p>
    To exclude a storage engine from the build, use
    <code class="option">
     -DWITH_
     <em class="replaceable">
      <code>
       engine
      </code>
     </em>
     _STORAGE_ENGINE=0
    </code>
    .
        Examples:
   </p>
   <div class="copytoclipboard-wrapper">
    <pre class="programlisting language-ini"><div class="docs-select-all right" id="sa35975126"><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-ini"><span class="token constant">-DWITH_ARCHIVE_STORAGE_ENGINE</span><span class="token attr-value"><span class="token punctuation">=</span>0</span>
<span class="token constant">-DWITH_EXAMPLE_STORAGE_ENGINE</span><span class="token attr-value"><span class="token punctuation">=</span>0</span>
<span class="token constant">-DWITH_FEDERATED_STORAGE_ENGINE</span><span class="token attr-value"><span class="token punctuation">=</span>0</span></code></pre>
   </div>
   <p>
    It is also possible to exclude a storage engine from the build
        using
    <code class="option">
     -DWITHOUT_
     <em class="replaceable">
      <code>
       engine
      </code>
     </em>
     _STORAGE_ENGINE=1
    </code>
    (but
    <code class="option">
     -DWITH_
     <em class="replaceable">
      <code>
       engine
      </code>
     </em>
     _STORAGE_ENGINE=0
    </code>
    is preferred). Examples:
   </p>
   <div class="copytoclipboard-wrapper">
    <pre class="programlisting language-ini"><div class="docs-select-all right" id="sa89287624"><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-ini"><span class="token constant">-DWITHOUT_ARCHIVE_STORAGE_ENGINE</span><span class="token attr-value"><span class="token punctuation">=</span>1</span>
<span class="token constant">-DWITHOUT_EXAMPLE_STORAGE_ENGINE</span><span class="token attr-value"><span class="token punctuation">=</span>1</span>
<span class="token constant">-DWITHOUT_FEDERATED_STORAGE_ENGINE</span><span class="token attr-value"><span class="token punctuation">=</span>1</span></code></pre>
   </div>
   <p>
    If neither
    <code class="option">
     -DWITH_
     <em class="replaceable">
      <code>
       engine
      </code>
     </em>
     _STORAGE_ENGINE
    </code>
    nor
    <code class="option">
     -DWITHOUT_
     <em class="replaceable">
      <code>
       engine
      </code>
     </em>
     _STORAGE_ENGINE
    </code>
    are specified for a given storage engine, the engine is built as
        a shared module, or excluded if it cannot be built as a shared
        module.
   </p>
  </div>
  <div class="simplesect">
   <div class="titlepage">
    <div>
     <div class="simple">
      <h4 class="title">
       <a name="cmake-feature-options">
       </a>
       Feature Options
      </h4>
     </div>
    </div>
   </div>
   <div class="itemizedlist">
    <ul class="itemizedlist" style="list-style-type: disc; ">
     <li class="listitem">
      <p>
       <a name="option_cmake_add_gdb_index">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_add_gdb_index">
        <code class="option">
         -DADD_GDB_INDEX=
         <em class="replaceable">
          <code>
           bool
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045328309248">
      </a>
      <a class="indexterm" name="idm46045328307760">
      </a>
      <p>
       This option determines whether to enable generation of a
       <code class="literal">
        .gdb_index
       </code>
       section in binaries, which
            makes loading them in a debugger faster. The option is
            disabled by default.
       <span class="command">
        <strong>
         lld
        </strong>
       </span>
       linker is used,
            and is disabled by It has no effect if a linker other than
       <span class="command">
        <strong>
         lld
        </strong>
       </span>
       or GNU
       <span class="command">
        <strong>
         gold
        </strong>
       </span>
       is
            used.
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_compilation_comment">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_compilation_comment">
        <code class="option">
         -DCOMPILATION_COMMENT=
         <em class="replaceable">
          <code>
           string
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045328300240">
      </a>
      <a class="indexterm" name="idm46045328298784">
      </a>
      <p>
       A descriptive comment about the compilation environment.
            While
       <a class="link" href="mysqld.html" title="6.3.1 mysqld — The MySQL Server">
        <span class="command">
         <strong>
          mysqld
         </strong>
        </span>
       </a>
       uses
       <a class="link" href="source-configuration-options.html#option_cmake_compilation_comment_server">
        <code class="option">
         COMPILATION_COMMENT_SERVER
        </code>
       </a>
       ,
            other programs use
       <a class="link" href="source-configuration-options.html#option_cmake_compilation_comment">
        <code class="option">
         COMPILATION_COMMENT
        </code>
       </a>
       .
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_compress_debug_sections">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_compress_debug_sections">
        <code class="option">
         -DCOMPRESS_DEBUG_SECTIONS=
         <em class="replaceable">
          <code>
           bool
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045328291024">
      </a>
      <a class="indexterm" name="idm46045328289520">
      </a>
      <p>
       Whether to compress the debug sections of binary executables
            (Linux only). Compressing executable debug sections saves
            space at the cost of extra CPU time during the build
            process.
      </p>
      <p>
       The default is
       <code class="literal">
        OFF
       </code>
       . If this option is not
            set explicitly but the
       <code class="literal">
        COMPRESS_DEBUG_SECTIONS
       </code>
       environment
            variable is set, the option takes its value from that
            variable.
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_compilation_comment_server">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_compilation_comment_server">
        <code class="option">
         -DCOMPILATION_COMMENT_SERVER=
         <em class="replaceable">
          <code>
           string
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045328282896">
      </a>
      <a class="indexterm" name="idm46045328281392">
      </a>
      <p>
       A descriptive comment about the compilation environment for
            use by
       <a class="link" href="mysqld.html" title="6.3.1 mysqld — The MySQL Server">
        <span class="command">
         <strong>
          mysqld
         </strong>
        </span>
       </a>
       (for example, to set the
       <a class="link" href="server-system-variables.html#sysvar_version_comment">
        <code class="literal">
         version_comment
        </code>
       </a>
       system
            variable). Programs other than the server use
       <a class="link" href="source-configuration-options.html#option_cmake_compilation_comment">
        <code class="option">
         COMPILATION_COMMENT
        </code>
       </a>
       .
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_default_charset">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_default_charset">
        <code class="option">
         -DDEFAULT_CHARSET=
         <em class="replaceable">
          <code>
           charset_name
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045328273216">
      </a>
      <a class="indexterm" name="idm46045328271728">
      </a>
      <p>
       The server character set. By default, MySQL uses the
       <code class="literal">
        utf8mb4
       </code>
       character set.
      </p>
      <p>
       <em class="replaceable">
        <code>
         charset_name
        </code>
       </em>
       may be one of
       <code class="literal">
        binary
       </code>
       ,
       <code class="literal">
        armscii8
       </code>
       ,
       <code class="literal">
        ascii
       </code>
       ,
       <code class="literal">
        big5
       </code>
       ,
       <code class="literal">
        cp1250
       </code>
       ,
       <code class="literal">
        cp1251
       </code>
       ,
       <code class="literal">
        cp1256
       </code>
       ,
       <code class="literal">
        cp1257
       </code>
       ,
       <code class="literal">
        cp850
       </code>
       ,
       <code class="literal">
        cp852
       </code>
       ,
       <code class="literal">
        cp866
       </code>
       ,
       <code class="literal">
        cp932
       </code>
       ,
       <code class="literal">
        dec8
       </code>
       ,
       <code class="literal">
        eucjpms
       </code>
       ,
       <code class="literal">
        euckr
       </code>
       ,
       <code class="literal">
        gb2312
       </code>
       ,
       <code class="literal">
        gbk
       </code>
       ,
       <code class="literal">
        geostd8
       </code>
       ,
       <code class="literal">
        greek
       </code>
       ,
       <code class="literal">
        hebrew
       </code>
       ,
       <code class="literal">
        hp8
       </code>
       ,
       <code class="literal">
        keybcs2
       </code>
       ,
       <code class="literal">
        koi8r
       </code>
       ,
       <code class="literal">
        koi8u
       </code>
       ,
       <code class="literal">
        latin1
       </code>
       ,
       <code class="literal">
        latin2
       </code>
       ,
       <code class="literal">
        latin5
       </code>
       ,
       <code class="literal">
        latin7
       </code>
       ,
       <code class="literal">
        macce
       </code>
       ,
       <code class="literal">
        macroman
       </code>
       ,
       <code class="literal">
        sjis
       </code>
       ,
       <code class="literal">
        swe7
       </code>
       ,
       <code class="literal">
        tis620
       </code>
       ,
       <code class="literal">
        ucs2
       </code>
       ,
       <code class="literal">
        ujis
       </code>
       ,
       <code class="literal">
        utf8mb3
       </code>
       ,
       <code class="literal">
        utf8mb4
       </code>
       ,
       <code class="literal">
        utf16
       </code>
       ,
       <code class="literal">
        utf16le
       </code>
       ,
       <code class="literal">
        utf32
       </code>
       .
      </p>
      <p>
       This value can be set at server startup with the
       <a class="link" href="server-system-variables.html#sysvar_character_set_server">
        <code class="option">
         --character-set-server
        </code>
       </a>
       option.
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_default_collation">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_default_collation">
        <code class="option">
         -DDEFAULT_COLLATION=
         <em class="replaceable">
          <code>
           collation_name
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045328235888">
      </a>
      <a class="indexterm" name="idm46045328234432">
      </a>
      <p>
       The server collation. By default, MySQL uses
       <code class="literal">
        utf8mb4_0900_ai_ci
       </code>
       . Use the
       <a class="link" href="show-collation.html" title="15.7.7.5 SHOW COLLATION Statement">
        <code class="literal">
         SHOW COLLATION
        </code>
       </a>
       statement to
            determine which collations are available for each character
            set.
      </p>
      <p>
       This value can be set at server startup with the
       <a class="link" href="server-system-variables.html#sysvar_collation_server">
        <code class="option">
         --collation_server
        </code>
       </a>
       option.
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_disable_psi_cond">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_disable_psi_cond">
        <code class="option">
         -DDISABLE_PSI_COND=
         <em class="replaceable">
          <code>
           bool
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045328226208">
      </a>
      <a class="indexterm" name="idm46045328224720">
      </a>
      <p>
       Whether to exclude the Performance Schema condition
            instrumentation. The default is
       <code class="literal">
        OFF
       </code>
       (include).
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_disable_psi_file">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_disable_psi_file">
        <code class="option">
         -DDISABLE_PSI_FILE=
         <em class="replaceable">
          <code>
           bool
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045328219536">
      </a>
      <a class="indexterm" name="idm46045328218048">
      </a>
      <p>
       Whether to exclude the Performance Schema file
            instrumentation. The default is
       <code class="literal">
        OFF
       </code>
       (include).
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_disable_psi_idle">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_disable_psi_idle">
        <code class="option">
         -DDISABLE_PSI_IDLE=
         <em class="replaceable">
          <code>
           bool
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045328212864">
      </a>
      <a class="indexterm" name="idm46045328211376">
      </a>
      <p>
       Whether to exclude the Performance Schema idle
            instrumentation. The default is
       <code class="literal">
        OFF
       </code>
       (include).
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_disable_psi_memory">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_disable_psi_memory">
        <code class="option">
         -DDISABLE_PSI_MEMORY=
         <em class="replaceable">
          <code>
           bool
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045328206256">
      </a>
      <a class="indexterm" name="idm46045328204800">
      </a>
      <p>
       Whether to exclude the Performance Schema memory
            instrumentation. The default is
       <code class="literal">
        OFF
       </code>
       (include).
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_disable_psi_metadata">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_disable_psi_metadata">
        <code class="option">
         -DDISABLE_PSI_METADATA=
         <em class="replaceable">
          <code>
           bool
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045328199616">
      </a>
      <a class="indexterm" name="idm46045328198160">
      </a>
      <p>
       Whether to exclude the Performance Schema metadata
            instrumentation. The default is
       <code class="literal">
        OFF
       </code>
       (include).
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_disable_psi_mutex">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_disable_psi_mutex">
        <code class="option">
         -DDISABLE_PSI_MUTEX=
         <em class="replaceable">
          <code>
           bool
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045328192912">
      </a>
      <a class="indexterm" name="idm46045328191456">
      </a>
      <p>
       Whether to exclude the Performance Schema mutex
            instrumentation. The default is
       <code class="literal">
        OFF
       </code>
       (include).
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_disable_psi_rwlock">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_disable_psi_rwlock">
        <code class="option">
         -DDISABLE_PSI_RWLOCK=
         <em class="replaceable">
          <code>
           bool
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045328186272">
      </a>
      <a class="indexterm" name="idm46045328184816">
      </a>
      <p>
       Whether to exclude the Performance Schema rwlock
            instrumentation. The default is
       <code class="literal">
        OFF
       </code>
       (include).
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_disable_psi_socket">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_disable_psi_socket">
        <code class="option">
         -DDISABLE_PSI_SOCKET=
         <em class="replaceable">
          <code>
           bool
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045328179632">
      </a>
      <a class="indexterm" name="idm46045328178176">
      </a>
      <p>
       Whether to exclude the Performance Schema socket
            instrumentation. The default is
       <code class="literal">
        OFF
       </code>
       (include).
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_disable_psi_sp">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_disable_psi_sp">
        <code class="option">
         -DDISABLE_PSI_SP=
         <em class="replaceable">
          <code>
           bool
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045328172928">
      </a>
      <a class="indexterm" name="idm46045328171440">
      </a>
      <p>
       Whether to exclude the Performance Schema stored program
            instrumentation. The default is
       <code class="literal">
        OFF
       </code>
       (include).
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_disable_psi_stage">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_disable_psi_stage">
        <code class="option">
         -DDISABLE_PSI_STAGE=
         <em class="replaceable">
          <code>
           bool
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045328166320">
      </a>
      <a class="indexterm" name="idm46045328164864">
      </a>
      <p>
       Whether to exclude the Performance Schema stage
            instrumentation. The default is
       <code class="literal">
        OFF
       </code>
       (include).
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_disable_psi_statement">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_disable_psi_statement">
        <code class="option">
         -DDISABLE_PSI_STATEMENT=
         <em class="replaceable">
          <code>
           bool
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045328159712">
      </a>
      <a class="indexterm" name="idm46045328158208">
      </a>
      <p>
       Whether to exclude the Performance Schema statement
            instrumentation. The default is
       <code class="literal">
        OFF
       </code>
       (include).
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_disable_psi_statement_digest">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_disable_psi_statement_digest">
        <code class="option">
         -DDISABLE_PSI_STATEMENT_DIGEST=
         <em class="replaceable">
          <code>
           bool
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045328152864">
      </a>
      <a class="indexterm" name="idm46045328151360">
      </a>
      <p>
       Whether to exclude the Performance Schema statement digest
            instrumentation. The default is
       <code class="literal">
        OFF
       </code>
       (include).
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_disable_psi_table">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_disable_psi_table">
        <code class="option">
         -DDISABLE_PSI_TABLE=
         <em class="replaceable">
          <code>
           bool
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045328146176">
      </a>
      <a class="indexterm" name="idm46045328144720">
      </a>
      <p>
       Whether to exclude the Performance Schema table
            instrumentation. The default is
       <code class="literal">
        OFF
       </code>
       (include).
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_disable_psi_ps">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_disable_psi_ps">
        <code class="option">
         -DDISABLE_PSI_PS=
         <em class="replaceable">
          <code>
           bool
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045328139536">
      </a>
      <a class="indexterm" name="idm46045328138048">
      </a>
      <p>
       Exclude the Performance Schema prepared statements instances
            instrumentation. The default is
       <code class="literal">
        OFF
       </code>
       (include).
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_disable_psi_thread">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_disable_psi_thread">
        <code class="option">
         -DDISABLE_PSI_THREAD=
         <em class="replaceable">
          <code>
           bool
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045328132864">
      </a>
      <a class="indexterm" name="idm46045328131408">
      </a>
      <p>
       Exclude the Performance Schema thread instrumentation. The
            default is
       <code class="literal">
        OFF
       </code>
       (include).
      </p>
      <p>
       Only disable threads when building without any
            instrumentation, because other instrumentations have a
            dependency on threads.
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_disable_psi_transaction">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_disable_psi_transaction">
        <code class="option">
         -DDISABLE_PSI_TRANSACTION=
         <em class="replaceable">
          <code>
           bool
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045328125712">
      </a>
      <a class="indexterm" name="idm46045328124208">
      </a>
      <p>
       Exclude the Performance Schema transaction instrumentation.
            The default is
       <code class="literal">
        OFF
       </code>
       (include).
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_disable_psi_data_lock">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_disable_psi_data_lock">
        <code class="option">
         -DDISABLE_PSI_DATA_LOCK=
         <em class="replaceable">
          <code>
           bool
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045328119024">
      </a>
      <a class="indexterm" name="idm46045328117520">
      </a>
      <p>
       Exclude the performance schema data lock instrumentation.
            The default is
       <code class="literal">
        OFF
       </code>
       (include).
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_disable_psi_error">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_disable_psi_error">
        <code class="option">
         -DDISABLE_PSI_ERROR=
         <em class="replaceable">
          <code>
           bool
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045328112304">
      </a>
      <a class="indexterm" name="idm46045328110848">
      </a>
      <p>
       Exclude the performance schema server error instrumentation.
            The default is
       <code class="literal">
        OFF
       </code>
       (include).
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_enable_experimental_sysvars">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_enable_experimental_sysvars">
        <code class="option">
         -DENABLE_EXPERIMENTAL_SYSVARS=
         <em class="replaceable">
          <code>
           bool
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045328105536">
      </a>
      <a class="indexterm" name="idm46045328104032">
      </a>
      <a class="indexterm" name="idm46045328102528">
      </a>
      <p>
       Whether to enable experimental
       <code class="literal">
        InnoDB
       </code>
       system variables. Experimental system variables are intended
            for those engaged in MySQL development, should only be used
            in a development or test environment, and may be removed
            without notice in a future MySQL release. For information
            about experimental system variables, refer to
       <code class="filename">
        /storage/innobase/handler/ha_innodb.cc
       </code>
       in the MySQL source tree. Experimental system variables can
            be identified by searching for
       <span class="quote">
        “
        <span class="quote">
         PLUGIN_VAR_EXPERIMENTAL
        </span>
        ”
       </span>
       .
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_without_server">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_without_server">
        <code class="option">
         -DWITHOUT_SERVER=
         <em class="replaceable">
          <code>
           bool
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045328096176">
      </a>
      <a class="indexterm" name="idm46045328094688">
      </a>
      <p>
       Whether to build without MySQL Server. The default is OFF,
            which does build the server.
      </p>
      <p>
       This is considered an experimental option; it is preferred
            to build with the server.
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_enable_gcov">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_enable_gcov">
        <code class="option">
         -DENABLE_GCOV=
         <em class="replaceable">
          <code>
           bool
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045328089664">
      </a>
      <a class="indexterm" name="idm46045328088176">
      </a>
      <p>
       Whether to include
       <span class="command">
        <strong>
         gcov
        </strong>
       </span>
       support (Linux
            only).
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_enable_gprof">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_enable_gprof">
        <code class="option">
         -DENABLE_GPROF=
         <em class="replaceable">
          <code>
           bool
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045328083088">
      </a>
      <a class="indexterm" name="idm46045328081600">
      </a>
      <p>
       Whether to enable
       <span class="command">
        <strong>
         gprof
        </strong>
       </span>
       (optimized Linux
            builds only).
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_enabled_local_infile">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_enabled_local_infile">
        <code class="option">
         -DENABLED_LOCAL_INFILE=
         <em class="replaceable">
          <code>
           bool
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045328076512">
      </a>
      <a class="indexterm" name="idm46045328075056">
      </a>
      <p>
       This option controls the compiled-in default
       <code class="literal">
        LOCAL
       </code>
       capability for the MySQL client
            library. Clients that make no explicit arrangements
            therefore have
       <code class="literal">
        LOCAL
       </code>
       capability disabled
            or enabled according to the
       <a class="link" href="source-configuration-options.html#option_cmake_enabled_local_infile">
        <code class="option">
         ENABLED_LOCAL_INFILE
        </code>
       </a>
       setting
            specified at MySQL build time.
      </p>
      <p>
       By default, the client library in MySQL binary distributions
            is compiled with
       <a class="link" href="source-configuration-options.html#option_cmake_enabled_local_infile">
        <code class="option">
         ENABLED_LOCAL_INFILE
        </code>
       </a>
       disabled.
            If you compile MySQL from source, configure it with
       <a class="link" href="source-configuration-options.html#option_cmake_enabled_local_infile">
        <code class="option">
         ENABLED_LOCAL_INFILE
        </code>
       </a>
       disabled
            or enabled based on whether clients that make no explicit
            arrangements should have
       <code class="literal">
        LOCAL
       </code>
       capability
            disabled or enabled, respectively.
      </p>
      <p>
       <a class="link" href="source-configuration-options.html#option_cmake_enabled_local_infile">
        <code class="option">
         ENABLED_LOCAL_INFILE
        </code>
       </a>
       controls
            the default for client-side
       <code class="literal">
        LOCAL
       </code>
       capability. For the server, the
       <a class="link" href="server-system-variables.html#sysvar_local_infile">
        <code class="literal">
         local_infile
        </code>
       </a>
       system
            variable controls server-side
       <code class="literal">
        LOCAL
       </code>
       capability. To explicitly cause the server to refuse or
            permit
       <a class="link" href="load-data.html" title="15.2.9 LOAD DATA Statement">
        <code class="literal">
         LOAD DATA
            LOCAL
        </code>
       </a>
       statements (regardless of how client
            programs and libraries are configured at build time or
            runtime), start
       <a class="link" href="mysqld.html" title="6.3.1 mysqld — The MySQL Server">
        <span class="command">
         <strong>
          mysqld
         </strong>
        </span>
       </a>
       with
       <a class="link" href="server-system-variables.html#sysvar_local_infile">
        <code class="option">
         --local-infile
        </code>
       </a>
       disabled or
            enabled, respectively.
       <a class="link" href="server-system-variables.html#sysvar_local_infile">
        <code class="literal">
         local_infile
        </code>
       </a>
       can also be
            set at runtime. See
       <a class="xref" href="load-data-local-security.html" title="8.1.6 Security Considerations for LOAD DATA LOCAL">
        Section 8.1.6, “Security Considerations for LOAD DATA LOCAL”
       </a>
       .
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_enabled_profiling">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_enabled_profiling">
        <code class="option">
         -DENABLED_PROFILING=
         <em class="replaceable">
          <code>
           bool
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045328054400">
      </a>
      <a class="indexterm" name="idm46045328052944">
      </a>
      <p>
       Whether to enable query profiling code (for the
       <a class="link" href="show-profile.html" title="15.7.7.32 SHOW PROFILE Statement">
        <code class="literal">
         SHOW PROFILE
        </code>
       </a>
       and
       <a class="link" href="show-profiles.html" title="15.7.7.33 SHOW PROFILES Statement">
        <code class="literal">
         SHOW PROFILES
        </code>
       </a>
       statements).
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_force_unsupported_compiler">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_force_unsupported_compiler">
        <code class="option">
         -DFORCE_UNSUPPORTED_COMPILER=
         <em class="replaceable">
          <code>
           bool
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045328045680">
      </a>
      <a class="indexterm" name="idm46045328044176">
      </a>
      <p>
       By default,
       <span class="command">
        <strong>
         CMake
        </strong>
       </span>
       checks for minimum
            versions of
       <a class="link" href="source-installation-prerequisites.html" title="2.8.2 Source Installation Prerequisites">
        supported
            compilers
       </a>
       ; to disable this check, use
       <a class="link" href="source-configuration-options.html#option_cmake_force_unsupported_compiler">
        <code class="option">
         -DFORCE_UNSUPPORTED_COMPILER=ON
        </code>
       </a>
       .
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_show_suppressed_compiler_warnings">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_show_suppressed_compiler_warnings">
        <code class="option">
         -DSHOW_SUPPRESSED_COMPILER_WARNINGS=
         <em class="replaceable">
          <code>
           bool
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045328036928">
      </a>
      <a class="indexterm" name="idm46045328035472">
      </a>
      <p>
       Show suppressed compiler warnings, and do so without failing
            with
       <code class="literal">
        -Werror
       </code>
       . Defaults to
       <code class="literal">
        OFF
       </code>
       .
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_fprofile_generate">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_fprofile_generate">
        <code class="option">
         -DFPROFILE_GENERATE=
         <em class="replaceable">
          <code>
           bool
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045328029568">
      </a>
      <a class="indexterm" name="idm46045328028112">
      </a>
      <p>
       Whether to generate profile guided optimization (PGO) data.
            This option is available for experimenting with PGO with
            GCC. See
       <code class="filename">
        cmake/fprofile.cmake
       </code>
       in the
            MySQL source distribution for information about using
       <a class="link" href="source-configuration-options.html#option_cmake_fprofile_generate">
        <code class="option">
         FPROFILE_GENERATE
        </code>
       </a>
       and
       <a class="link" href="source-configuration-options.html#option_cmake_fprofile_use">
        <code class="option">
         FPROFILE_USE
        </code>
       </a>
       . These options
            have been tested with GCC 8 and 9.
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_fprofile_use">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_fprofile_use">
        <code class="option">
         -DFPROFILE_USE=
         <em class="replaceable">
          <code>
           bool
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045328020688">
      </a>
      <a class="indexterm" name="idm46045328019200">
      </a>
      <p>
       Whether to use profile guided optimization (PGO) data. This
            option is available for experimenting with PGO with GCC. See
            the
       <code class="filename">
        cmake/fprofile.cmake
       </code>
       file in a
            MySQL source distribution for information about using
       <a class="link" href="source-configuration-options.html#option_cmake_fprofile_generate">
        <code class="option">
         FPROFILE_GENERATE
        </code>
       </a>
       and
       <a class="link" href="source-configuration-options.html#option_cmake_fprofile_use">
        <code class="option">
         FPROFILE_USE
        </code>
       </a>
       . These options
            have been tested with GCC 8 and 9.
      </p>
      <p>
       Enabling
       <a class="link" href="source-configuration-options.html#option_cmake_fprofile_use">
        <code class="option">
         FPROFILE_USE
        </code>
       </a>
       also
            enables
       <a class="link" href="source-configuration-options.html#option_cmake_with_lto">
        <code class="option">
         WITH_LTO
        </code>
       </a>
       .
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_have_psi_memory_interface">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_have_psi_memory_interface">
        <code class="option">
         -DHAVE_PSI_MEMORY_INTERFACE=
         <em class="replaceable">
          <code>
           bool
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045328009536">
      </a>
      <a class="indexterm" name="idm46045328008032">
      </a>
      <a class="indexterm" name="idm46045328006528">
      </a>
      <p>
       Whether to enable the performance schema memory tracing
            module for memory allocation functions
            (
       <code class="literal">
        ut::aligned_
        <em class="replaceable">
         <code>
          name
         </code>
        </em>
       </code>
       library functions) used in dynamic storage of over-aligned
            types.
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_ignore_aio_check">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_ignore_aio_check">
        <code class="option">
         -DIGNORE_AIO_CHECK=
         <em class="replaceable">
          <code>
           bool
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045328001296">
      </a>
      <a class="indexterm" name="idm46045327999808">
      </a>
      <a class="indexterm" name="idm46045327998320">
      </a>
      <p>
       If the
       <a class="link" href="source-configuration-options.html#option_cmake_build_config">
        <code class="option">
         -DBUILD_CONFIG=mysql_release
        </code>
       </a>
       option is given on Linux, the
       <code class="literal">
        libaio
       </code>
       library must be linked in by default. If you do not have
       <code class="literal">
        libaio
       </code>
       or do not want to install it, you
            can suppress the check for it by specifying
       <a class="link" href="source-configuration-options.html#option_cmake_ignore_aio_check">
        <code class="option">
         -DIGNORE_AIO_CHECK=1
        </code>
       </a>
       .
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_max_indexes">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_max_indexes">
        <code class="option">
         -DMAX_INDEXES=
         <em class="replaceable">
          <code>
           num
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045327990752">
      </a>
      <a class="indexterm" name="idm46045327989264">
      </a>
      <p>
       The maximum number of indexes per table. The default is 64.
            The maximum is 255. Values smaller than 64 are ignored and
            the default of 64 is used.
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_mysql_maintainer_mode">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_mysql_maintainer_mode">
        <code class="option">
         -DMYSQL_MAINTAINER_MODE=
         <em class="replaceable">
          <code>
           bool
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045327984800">
      </a>
      <a class="indexterm" name="idm46045327983296">
      </a>
      <p>
       Whether to enable a MySQL maintainer-specific development
            environment. If enabled, this option causes compiler
            warnings to become errors.
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_with_developer_entitlements">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_with_developer_entitlements">
        <code class="option">
         -DWITH_DEVELOPER_ENTITLEMENTS=
         <em class="replaceable">
          <code>
           bool
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045327978576">
      </a>
      <a class="indexterm" name="idm46045327977072">
      </a>
      <p>
       Whether to add the
       <code class="literal">
        get-task-allow
       </code>
       entitlement to all executables to generate a core dump in
            the event of an unexpected server halt.
      </p>
      <p>
       On macOS 11+, core dumps are limited to processes with the
       <code class="literal">
        com.apple.security.get-task-allow
       </code>
       entitlement, which this CMake option enables. The
            entitlement allows other processes to attach and read/modify
            the processes memory, and allows
       <a class="link" href="server-options.html#option_mysqld_core-file">
        <code class="option">
         --core-file
        </code>
       </a>
       to function as
            expected.
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_mutex_type">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_mutex_type">
        <code class="option">
         -DMUTEX_TYPE=
         <em class="replaceable">
          <code>
           type
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045327969504">
      </a>
      <a class="indexterm" name="idm46045327968016">
      </a>
      <p>
       The mutex type used by
       <code class="literal">
        InnoDB
       </code>
       . Options
            include:
      </p>
      <div class="itemizedlist">
       <ul class="itemizedlist" style="list-style-type: circle; ">
        <li class="listitem">
         <p>
          <code class="literal">
           event
          </code>
          : Use event mutexes. This is the
                default value and the original
          <code class="literal">
           InnoDB
          </code>
          mutex implementation.
         </p>
        </li>
        <li class="listitem">
         <p>
          <code class="literal">
           sys
          </code>
          : Use POSIX mutexes on UNIX
                systems. Use
          <code class="literal">
           CRITICAL_SECTION
          </code>
          objects
                on Windows, if available.
         </p>
        </li>
        <li class="listitem">
         <p>
          <code class="literal">
           futex
          </code>
          : Use Linux futexes instead of
                condition variables to schedule waiting threads.
         </p>
        </li>
       </ul>
      </div>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_mysqlx_tcp_port">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_mysqlx_tcp_port">
        <code class="option">
         -DMYSQLX_TCP_PORT=
         <em class="replaceable">
          <code>
           port_num
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045327956224">
      </a>
      <a class="indexterm" name="idm46045327954736">
      </a>
      <a class="indexterm" name="idm46045327953248">
      </a>
      <a class="indexterm" name="idm46045327952176">
      </a>
      <a class="indexterm" name="idm46045327951104">
      </a>
      <p>
       The port number on which X Plugin listens for TCP/IP
            connections. The default is 33060.
      </p>
      <p>
       This value can be set at server startup with the
       <a class="link" href="x-plugin-options-system-variables.html#sysvar_mysqlx_port">
        <code class="literal">
         mysqlx_port
        </code>
       </a>
       system
            variable.
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_mysqlx_unix_addr">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_mysqlx_unix_addr">
        <code class="option">
         -DMYSQLX_UNIX_ADDR=
         <em class="replaceable">
          <code>
           file_name
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045327945152">
      </a>
      <a class="indexterm" name="idm46045327943664">
      </a>
      <p>
       The Unix socket file path on which the server listens for
            X Plugin socket connections. This must be an absolute path
            name. The default is
       <code class="filename">
        /tmp/mysqlx.sock
       </code>
       .
      </p>
      <p>
       This value can be set at server startup with the
       <a class="link" href="x-plugin-options-system-variables.html#sysvar_mysqlx_port">
        <code class="literal">
         mysqlx_port
        </code>
       </a>
       system
            variable.
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_mysql_project_name">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_mysql_project_name">
        <code class="option">
         -DMYSQL_PROJECT_NAME=
         <em class="replaceable">
          <code>
           name
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045327936656">
      </a>
      <a class="indexterm" name="idm46045327935200">
      </a>
      <p>
       For Windows or macOS, the project name to incorporate into
            the project file name.
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_mysql_tcp_port">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_mysql_tcp_port">
        <code class="option">
         -DMYSQL_TCP_PORT=
         <em class="replaceable">
          <code>
           port_num
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045327930720">
      </a>
      <a class="indexterm" name="idm46045327929232">
      </a>
      <a class="indexterm" name="idm46045327927744">
      </a>
      <a class="indexterm" name="idm46045327926672">
      </a>
      <a class="indexterm" name="idm46045327925600">
      </a>
      <p>
       The port number on which the server listens for TCP/IP
            connections. The default is 3306.
      </p>
      <p>
       This value can be set at server startup with the
       <a class="link" href="server-options.html#option_mysqld_port">
        <code class="option">
         --port
        </code>
       </a>
       option.
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_mysql_unix_addr">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_mysql_unix_addr">
        <code class="option">
         -DMYSQL_UNIX_ADDR=
         <em class="replaceable">
          <code>
           file_name
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045327920144">
      </a>
      <a class="indexterm" name="idm46045327918656">
      </a>
      <p>
       The Unix socket file path on which the server listens for
            socket connections. This must be an absolute path name. The
            default is
       <code class="filename">
        /tmp/mysql.sock
       </code>
       .
      </p>
      <p>
       This value can be set at server startup with the
       <a class="link" href="server-options.html#option_mysqld_socket">
        <code class="option">
         --socket
        </code>
       </a>
       option.
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_optimizer_trace">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_optimizer_trace">
        <code class="option">
         -DOPTIMIZER_TRACE=
         <em class="replaceable">
          <code>
           bool
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045327911968">
      </a>
      <a class="indexterm" name="idm46045327910480">
      </a>
      <p>
       Whether to support optimizer tracing. See
       <a class="xref" href="optimizer-tracing.html" title="10.15 Tracing the Optimizer">
        Section 10.15, “Tracing the Optimizer”
       </a>
       .
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_reproducible_build">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_reproducible_build">
        <code class="option">
         -DREPRODUCIBLE_BUILD=
         <em class="replaceable">
          <code>
           bool
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045327905248">
      </a>
      <a class="indexterm" name="idm46045327903792">
      </a>
      <p>
       For builds on Linux systems, this option controls whether to
            take extra care to create a build result independent of
            build location and time.
      </p>
      <p>
       This option defaults to
       <code class="literal">
        ON
       </code>
       for
       <code class="literal">
        RelWithDebInfo
       </code>
       builds.
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_with_ld">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_with_ld">
        <code class="option">
         -DWITH_LD=
         <em class="replaceable">
          <code>
           string
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045327897504">
      </a>
      <a class="indexterm" name="idm46045327896016">
      </a>
      <p>
       <span class="command">
        <strong>
         CMake
        </strong>
       </span>
       uses the standard linker by
            default. Optionally pass in
       <code class="literal">
        lld
       </code>
       or
       <code class="literal">
        mold
       </code>
       to specify an alternative linker.
       <span class="command">
        <strong>
         mold
        </strong>
       </span>
       must be version 2 or newer.
      </p>
      <p>
       This option can be used on Linux-based systems other than
            Enterprise Linux, which always uses the
       <span class="command">
        <strong>
         ld
        </strong>
       </span>
       linker.
      </p>
      <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
       <div class="admon-title">
        Note
       </div>
       <p>
        Previously, the option
        <code class="option">
         USE_LD_LLD
        </code>
        could
              be used to enable (the default) or disable explicitly the
              LLVM
        <span class="command">
         <strong>
          lld
         </strong>
        </span>
        linker for Clang. In MySQL
              8.3,
        <code class="option">
         USE_LD_LLD
        </code>
        has been removed.
       </p>
      </div>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_win_debug_no_inline">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_win_debug_no_inline">
        <code class="option">
         -DWIN_DEBUG_NO_INLINE=
         <em class="replaceable">
          <code>
           bool
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045327884880">
      </a>
      <a class="indexterm" name="idm46045327883424">
      </a>
      <p>
       Whether to disable function inlining on Windows. The default
            is
       <code class="literal">
        OFF
       </code>
       (inlining enabled).
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_with_ant">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_with_ant">
        <code class="option">
         -DWITH_ANT=
         <em class="replaceable">
          <code>
           path_name
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045327878304">
      </a>
      <a class="indexterm" name="idm46045327876816">
      </a>
      <p>
       Set the path to Ant, required when building GCS Java
            wrapper. Set
       <a class="link" href="source-configuration-options.html#option_cmake_with_ant">
        <code class="option">
         WITH_ANT
        </code>
       </a>
       to the
            path of a directory where the Ant tarball or unpacked
            archive is saved. When
       <a class="link" href="source-configuration-options.html#option_cmake_with_ant">
        <code class="option">
         WITH_ANT
        </code>
       </a>
       is not set, or is set
            with the special value
       <code class="literal">
        system
       </code>
       , the build
            process assumes a binary
       <code class="literal">
        ant
       </code>
       exists in
       <code class="literal">
        $PATH
       </code>
       .
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_with_asan">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_with_asan">
        <code class="option">
         -DWITH_ASAN=
         <em class="replaceable">
          <code>
           bool
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045327868240">
      </a>
      <a class="indexterm" name="idm46045327866752">
      </a>
      <p>
       Whether to enable the AddressSanitizer, for compilers that
            support it. The default is
       <code class="literal">
        OFF
       </code>
       .
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_with_asan_scope">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_with_asan_scope">
        <code class="option">
         -DWITH_ASAN_SCOPE=
         <em class="replaceable">
          <code>
           bool
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045327861600">
      </a>
      <a class="indexterm" name="idm46045327860112">
      </a>
      <p>
       Whether to enable the AddressSanitizer
       <code class="literal">
        -fsanitize-address-use-after-scope
       </code>
       Clang
            flag for use-after-scope detection. The default is off. To
            use this option,
       <a class="link" href="source-configuration-options.html#option_cmake_with_asan">
        <code class="option">
         -DWITH_ASAN
        </code>
       </a>
       must also be enabled.
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_with_authentication_client_plugins">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_with_authentication_client_plugins">
        <code class="option">
         -DWITH_AUTHENTICATION_CLIENT_PLUGINS=
         <em class="replaceable">
          <code>
           bool
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045327853760">
      </a>
      <a class="indexterm" name="idm46045327852304">
      </a>
      <p>
       This option is enabled automatically if any corresponding
            server authentication plugins are built. Its value thus
            depends on other
       <span class="command">
        <strong>
         CMake
        </strong>
       </span>
       options and it
            should not be set explicitly.
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_with_authentication_ldap">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_with_authentication_ldap">
        <code class="option">
         -DWITH_AUTHENTICATION_LDAP=
         <em class="replaceable">
          <code>
           bool
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045327846944">
      </a>
      <a class="indexterm" name="idm46045327845440">
      </a>
      <a class="indexterm" name="idm46045327843936">
      </a>
      <p>
       Whether to report an error if the LDAP authentication
            plugins cannot be built:
      </p>
      <div class="itemizedlist">
       <ul class="itemizedlist" style="list-style-type: circle; ">
        <li class="listitem">
         <p>
          If this option is disabled (the default), the LDAP
                plugins are built if the required header files and
                libraries are found. If they are not,
          <span class="command">
           <strong>
            CMake
           </strong>
          </span>
          displays a note about it.
         </p>
        </li>
        <li class="listitem">
         <p>
          If this option is enabled, a failure to find the
                required header file and libraries causes CMake to
                produce an error, preventing the server from being
                built.
         </p>
        </li>
       </ul>
      </div>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_with_authentication_pam">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_with_authentication_pam">
        <code class="option">
         -DWITH_AUTHENTICATION_PAM=
         <em class="replaceable">
          <code>
           bool
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045327836272">
      </a>
      <a class="indexterm" name="idm46045327834768">
      </a>
      <p>
       Whether to build the PAM authentication plugin, for source
            trees that include this plugin. (See
       <a class="xref" href="pam-pluggable-authentication.html" title="8.4.1.5 PAM Pluggable Authentication">
        Section 8.4.1.5, “PAM Pluggable Authentication”
       </a>
       .) If this
            option is specified and the plugin cannot be compiled, the
            build fails.
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_with_aws_sdk">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_with_aws_sdk">
        <code class="option">
         -DWITH_AWS_SDK=
         <em class="replaceable">
          <code>
           path_name
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045327829296">
      </a>
      <a class="indexterm" name="idm46045327827808">
      </a>
      <p>
       The location of the Amazon Web Services software development
            kit.
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_with_client_protocol_tracing">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_with_client_protocol_tracing">
        <code class="option">
         -DWITH_CLIENT_PROTOCOL_TRACING=
         <em class="replaceable">
          <code>
           bool
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045327823312">
      </a>
      <a class="indexterm" name="idm46045327821808">
      </a>
      <p>
       Whether to build the client-side protocol tracing framework
            into the client library. By default, this option is enabled.
      </p>
      <p>
       For information about writing protocol trace client plugins,
            see
       <a class="ulink" href="/doc/extending-mysql/8.4/en/writing-protocol-trace-plugins.html" target="_top">
        Writing Protocol Trace Plugins
       </a>
       .
      </p>
      <p>
       See also the
       <a class="link" href="source-configuration-options.html#option_cmake_with_test_trace_plugin">
        <code class="option">
         WITH_TEST_TRACE_PLUGIN
        </code>
       </a>
       option.
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_with_curl">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_with_curl">
        <code class="option">
         -DWITH_CURL=
         <em class="replaceable">
          <code>
           curl_type
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045327814672">
      </a>
      <a class="indexterm" name="idm46045327813184">
      </a>
      <p>
       The location of the
       <code class="literal">
        curl
       </code>
       library.
       <em class="replaceable">
        <code>
         curl_type
        </code>
       </em>
       can be
       <code class="literal">
        system
       </code>
       (use the system
       <code class="literal">
        curl
       </code>
       library), a path name to the
       <code class="literal">
        curl
       </code>
       library,
       <code class="literal">
        no
       </code>
       |
       <code class="literal">
        off
       </code>
       |
       <code class="literal">
        none
       </code>
       to disable curl support, or
       <code class="literal">
        bundled
       </code>
       to
            use the bundled curl distribution in
       <code class="filename">
        extra/curl/
       </code>
       .
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_with_debug">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_with_debug">
        <code class="option">
         -DWITH_DEBUG=
         <em class="replaceable">
          <code>
           bool
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045327801984">
      </a>
      <a class="indexterm" name="idm46045327800496">
      </a>
      <p>
       Whether to include debugging support.
      </p>
      <p>
       Configuring MySQL with debugging support enables you to use
            the
       <a class="link" href="server-options.html#option_mysqld_debug">
        <code class="option">
         --debug="d,parser_debug"
        </code>
       </a>
       option when you start the server. This causes the Bison
            parser that is used to process SQL statements to dump a
            parser trace to the server's standard error output.
            Typically, this output is written to the error log.
      </p>
      <p>
       Sync debug checking for the
       <code class="literal">
        InnoDB
       </code>
       storage engine is defined under
       <code class="literal">
        UNIV_DEBUG
       </code>
       and is available when
            debugging support is compiled in using the
       <a class="link" href="source-configuration-options.html#option_cmake_with_debug">
        <code class="option">
         WITH_DEBUG
        </code>
       </a>
       option. When
            debugging support is compiled in, the
       <a class="link" href="innodb-parameters.html#sysvar_innodb_sync_debug">
        <code class="literal">
         innodb_sync_debug
        </code>
       </a>
       configuration option can be used to enable or disable
       <code class="literal">
        InnoDB
       </code>
       sync debug checking.
      </p>
      <p>
       Enabling
       <a class="link" href="source-configuration-options.html#option_cmake_with_debug">
        <code class="option">
         WITH_DEBUG
        </code>
       </a>
       also
            enables Debug Sync. This facility is used for testing and
            debugging. When compiled in, Debug Sync is disabled by
            default at runtime. To enable it, start
       <a class="link" href="mysqld.html" title="6.3.1 mysqld — The MySQL Server">
        <span class="command">
         <strong>
          mysqld
         </strong>
        </span>
       </a>
       with the
       <a class="link" href="server-options.html#option_mysqld_debug-sync-timeout">
        <code class="option">
         --debug-sync-timeout=
         <em class="replaceable">
          <code>
           N
          </code>
         </em>
        </code>
       </a>
       option, where
       <em class="replaceable">
        <code>
         N
        </code>
       </em>
       is a timeout
            value greater than 0. (The default value is 0, which
            disables Debug Sync.)
       <em class="replaceable">
        <code>
         N
        </code>
       </em>
       becomes
            the default timeout for individual synchronization points.
      </p>
      <p>
       Sync debug checking for the
       <code class="literal">
        InnoDB
       </code>
       storage engine is available when debugging support is
            compiled in using the
       <a class="link" href="source-configuration-options.html#option_cmake_with_debug">
        <code class="option">
         WITH_DEBUG
        </code>
       </a>
       option.
      </p>
      <p>
       For a description of the Debug Sync facility and how to use
            synchronization points, see
       <a class="ulink" href="/doc/internals/en/test-synchronization.html" target="_top">
        MySQL
            Internals: Test Synchronization
       </a>
       .
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_with_editline">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_with_editline">
        <code class="option">
         -DWITH_EDITLINE=
         <em class="replaceable">
          <code>
           value
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045327780272">
      </a>
      <a class="indexterm" name="idm46045327778784">
      </a>
      <p>
       Which
       <code class="literal">
        libedit
       </code>
       /
       <code class="literal">
        editline
       </code>
       library to use. The permitted values are
       <code class="literal">
        bundled
       </code>
       (the default) and
       <code class="literal">
        system
       </code>
       .
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_with_icu">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_with_icu">
        <code class="option">
         -DWITH_ICU={
         <em class="replaceable">
          <code>
           icu_type
          </code>
         </em>
         |
         <em class="replaceable">
          <code>
           path_name
          </code>
         </em>
         }
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045327771056">
      </a>
      <a class="indexterm" name="idm46045327769568">
      </a>
      <p>
       MySQL uses International Components for Unicode (ICU) to
            support regular expression operations. The
       <code class="option">
        WITH_ICU
       </code>
       option indicates the type of ICU
            support to include or the path name to the ICU installation
            to use.
      </p>
      <div class="itemizedlist">
       <ul class="itemizedlist" style="list-style-type: circle; ">
        <li class="listitem">
         <p>
          <em class="replaceable">
           <code>
            icu_type
           </code>
          </em>
          can be one of the
                following values:
         </p>
         <div class="itemizedlist">
          <ul class="itemizedlist" style="list-style-type: square; ">
           <li class="listitem">
            <p>
             <code class="literal">
              bundled
             </code>
             : Use the ICU library
                    bundled with the distribution. This is the default,
                    and is the only supported option for Windows.
            </p>
           </li>
           <li class="listitem">
            <p>
             <code class="literal">
              system
             </code>
             : Use the system ICU
                    library.
            </p>
           </li>
          </ul>
         </div>
        </li>
        <li class="listitem">
         <p>
          <em class="replaceable">
           <code>
            path_name
           </code>
          </em>
          is the path name to
                the ICU installation to use. This can be preferable to
                using the
          <em class="replaceable">
           <code>
            icu_type
           </code>
          </em>
          value of
          <code class="literal">
           system
          </code>
          because it can prevent CMake
                from detecting and using an older or incorrect ICU
                version installed on the system. (Another permitted way
                to do the same thing is to set
          <code class="option">
           WITH_ICU
          </code>
          to
          <code class="literal">
           system
          </code>
          and set the
          <code class="option">
           CMAKE_PREFIX_PATH
          </code>
          option to
          <em class="replaceable">
           <code>
            path_name
           </code>
          </em>
          .)
         </p>
        </li>
       </ul>
      </div>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_with_innodb_extra_debug">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_with_innodb_extra_debug">
        <code class="option">
         -DWITH_INNODB_EXTRA_DEBUG=
         <em class="replaceable">
          <code>
           bool
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045327754448">
      </a>
      <a class="indexterm" name="idm46045327752944">
      </a>
      <p>
       Whether to include extra InnoDB debugging support.
      </p>
      <p>
       Enabling
       <code class="literal">
        WITH_INNODB_EXTRA_DEBUG
       </code>
       turns on
            extra InnoDB debug checks. This option can only be enabled
            when
       <a class="link" href="source-configuration-options.html#option_cmake_with_debug">
        <code class="option">
         WITH_DEBUG
        </code>
       </a>
       is enabled.
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_with_jemalloc">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_with_jemalloc">
        <code class="option">
         -DWITH_JEMALLOC=
         <em class="replaceable">
          <code>
           bool
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045327746256">
      </a>
      <a class="indexterm" name="idm46045327744768">
      </a>
      <p>
       Whether to link with
       <code class="option">
        -ljemalloc
       </code>
       . If
            enabled, built-in
       <code class="literal">
        malloc()
       </code>
       ,
       <code class="literal">
        calloc()
       </code>
       ,
       <code class="literal">
        realloc()
       </code>
       ,
            and
       <code class="literal">
        free()
       </code>
       routines are disabled. The
            default is
       <code class="literal">
        OFF
       </code>
       .
      </p>
      <p>
       <a class="link" href="source-configuration-options.html#option_cmake_with_jemalloc">
        <code class="option">
         WITH_JEMALLOC
        </code>
       </a>
       and
       <a class="link" href="source-configuration-options.html#option_cmake_with_tcmalloc">
        <code class="option">
         WITH_TCMALLOC
        </code>
       </a>
       are mutually
            exclusive.
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_with_win_jemalloc">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_with_win_jemalloc">
        <code class="option">
         -DWITH_WIN_JEMALLOC=
         <em class="replaceable">
          <code>
           string
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045327733936">
      </a>
      <a class="indexterm" name="idm46045327732480">
      </a>
      <p>
       On Windows, pass in a path to a directory containing
       <code class="filename">
        jemalloc.dll
       </code>
       to enable jemalloc
            functionality. The build system copies
       <code class="filename">
        jemalloc.dll
       </code>
       to the same directory as
       <code class="filename">
        mysqld.exe
       </code>
       and/or
       <code class="filename">
        mysqld-debug.exe
       </code>
       and utilizes it for
            memory management operations. Standard memory functions are
            used if
       <code class="filename">
        jemalloc.dll
       </code>
       is not found or
            does not export the required functions. An INFORMATION level
            log message records whether or not jemalloc is found and
            used.
      </p>
      <p>
       This option is enabled for official MySQL binaries for
            Windows.
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_with_libevent">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_with_libevent">
        <code class="option">
         -DWITH_LIBEVENT=
         <em class="replaceable">
          <code>
           string
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045327722720">
      </a>
      <a class="indexterm" name="idm46045327721232">
      </a>
      <p>
       Which
       <code class="literal">
        libevent
       </code>
       library to use. Permitted
            values are
       <code class="literal">
        bundled
       </code>
       (default) and
       <code class="literal">
        system
       </code>
       . If
       <code class="literal">
        system
       </code>
       is
            specified and no system
       <code class="literal">
        libevent
       </code>
       library
            can be found, an error occurs regardless, and the bundled
       <code class="literal">
        libevent
       </code>
       is not used.
      </p>
      <p>
       The
       <code class="literal">
        libevent
       </code>
       library is required by
            X Plugin and MySQL Router.
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_with_libwrap">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_with_libwrap">
        <code class="option">
         -DWITH_LIBWRAP=
         <em class="replaceable">
          <code>
           bool
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045327711216">
      </a>
      <a class="indexterm" name="idm46045327709728">
      </a>
      <p>
       Whether to include
       <code class="literal">
        libwrap
       </code>
       (TCP wrappers)
            support.
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_with_lock_order">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_with_lock_order">
        <code class="option">
         -DWITH_LOCK_ORDER=
         <em class="replaceable">
          <code>
           bool
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045327704640">
      </a>
      <a class="indexterm" name="idm46045327703152">
      </a>
      <p>
       Whether to enable LOCK_ORDER tooling. By default, this
            option is disabled and server builds contain no tooling. If
            tooling is enabled, the LOCK_ORDER tool is available and can
            be used as described in
       <a class="xref" href="lock-order-tool.html" title="7.9.3 The LOCK_ORDER Tool">
        Section 7.9.3, “The LOCK_ORDER Tool”
       </a>
       .
      </p>
      <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
       <div class="admon-title">
        Note
       </div>
       <p>
        With the
        <a class="link" href="source-configuration-options.html#option_cmake_with_lock_order">
         <code class="option">
          WITH_LOCK_ORDER
         </code>
        </a>
        option enabled, MySQL builds require the
        <span class="command">
         <strong>
          flex
         </strong>
        </span>
        program.
       </p>
      </div>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_with_lsan">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_with_lsan">
        <code class="option">
         -DWITH_LSAN=
         <em class="replaceable">
          <code>
           bool
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045327695216">
      </a>
      <a class="indexterm" name="idm46045327693728">
      </a>
      <p>
       Whether to run LeakSanitizer, without AddressSanitizer. The
            default is
       <code class="literal">
        OFF
       </code>
       .
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_with_lto">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_with_lto">
        <code class="option">
         -DWITH_LTO=
         <em class="replaceable">
          <code>
           bool
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045327688640">
      </a>
      <a class="indexterm" name="idm46045327687152">
      </a>
      <p>
       Whether to enable the link-time optimizer, if the compiler
            supports it. The default is
       <code class="literal">
        OFF
       </code>
       unless
       <a class="link" href="source-configuration-options.html#option_cmake_fprofile_use">
        <code class="option">
         FPROFILE_USE
        </code>
       </a>
       is enabled.
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_with_lz4">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_with_lz4">
        <code class="option">
         -DWITH_LZ4=
         <em class="replaceable">
          <code>
           lz4_type
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045327681056">
      </a>
      <a class="indexterm" name="idm46045327679568">
      </a>
      <p>
       The
       <a class="link" href="source-configuration-options.html#option_cmake_with_lz4">
        <code class="option">
         WITH_LZ4
        </code>
       </a>
       option indicates
            the source of
       <code class="literal">
        zlib
       </code>
       support:
      </p>
      <div class="itemizedlist">
       <ul class="itemizedlist" style="list-style-type: circle; ">
        <li class="listitem">
         <p>
          <code class="literal">
           bundled
          </code>
          : Use the
          <code class="literal">
           lz4
          </code>
          library bundled with the
                distribution. This is the default.
         </p>
        </li>
        <li class="listitem">
         <p>
          <code class="literal">
           system
          </code>
          : Use the system
          <code class="literal">
           lz4
          </code>
          library.
         </p>
        </li>
       </ul>
      </div>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_with_mecab">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_with_mecab">
        <code class="option">
         -DWITH_MECAB={disabled|system|
         <em class="replaceable">
          <code>
           path_name
          </code>
         </em>
         }
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045327668528">
      </a>
      <a class="indexterm" name="idm46045327667040">
      </a>
      <p>
       Use this option to compile the MeCab parser. If you have
            installed MeCab to its default installation directory, set
       <code class="option">
        -DWITH_MECAB=system
       </code>
       . The
       <code class="literal">
        system
       </code>
       option applies to MeCab
            installations performed from source or from binaries using a
            native package management utility. If you installed MeCab to
            a custom installation directory, specify the path to the
            MeCab installation, for example,
       <code class="option">
        -DWITH_MECAB=/opt/mecab
       </code>
       . If the
       <code class="literal">
        system
       </code>
       option does not work, specifying
            the MeCab installation path should work in all cases.
      </p>
      <p>
       For related information, see
       <a class="xref" href="fulltext-search-mecab.html" title="14.9.9 MeCab Full-Text Parser Plugin">
        Section 14.9.9, “MeCab Full-Text Parser Plugin”
       </a>
       .
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_with_msan">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_with_msan">
        <code class="option">
         -DWITH_MSAN=
         <em class="replaceable">
          <code>
           bool
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045327658560">
      </a>
      <a class="indexterm" name="idm46045327657072">
      </a>
      <p>
       Whether to enable MemorySanitizer, for compilers that
            support it. The default is off.
      </p>
      <p>
       For this option to have an effect if enabled, all libraries
            linked to MySQL must also have been compiled with the option
            enabled.
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_with_mscrt_debug">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_with_mscrt_debug">
        <code class="option">
         -DWITH_MSCRT_DEBUG=
         <em class="replaceable">
          <code>
           bool
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045327651952">
      </a>
      <a class="indexterm" name="idm46045327650464">
      </a>
      <p>
       Whether to enable Visual Studio CRT memory leak tracing. The
            default is
       <code class="literal">
        OFF
       </code>
       .
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_msvc_cppcheck">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_msvc_cppcheck">
        <code class="option">
         -DMSVC_CPPCHECK=
         <em class="replaceable">
          <code>
           bool
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045327645376">
      </a>
      <a class="indexterm" name="idm46045327643888">
      </a>
      <p>
       Whether to enable MSVC code analysis. The default is
       <code class="literal">
        ON
       </code>
       .
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_with_mysqlx">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_with_mysqlx">
        <code class="option">
         -DWITH_MYSQLX=
         <em class="replaceable">
          <code>
           bool
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045327638752">
      </a>
      <a class="indexterm" name="idm46045327637264">
      </a>
      <p>
       Whether to build with support for X Plugin. The default is
       <code class="literal">
        ON
       </code>
       . See
       <a class="xref" href="document-store.html" title="Chapter 22 Using MySQL as a Document Store">
        Chapter 22,
        <i>
         Using MySQL as a Document Store
        </i>
       </a>
       .
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_with_numa">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_with_numa">
        <code class="option">
         -DWITH_NUMA=
         <em class="replaceable">
          <code>
           bool
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045327631392">
      </a>
      <a class="indexterm" name="idm46045327629904">
      </a>
      <p>
       Explicitly set the NUMA memory allocation policy.
       <span class="command">
        <strong>
         CMake
        </strong>
       </span>
       sets the default
       <a class="link" href="source-configuration-options.html#option_cmake_with_numa">
        <code class="option">
         WITH_NUMA
        </code>
       </a>
       value based on
            whether the current platform has
       <code class="literal">
        NUMA
       </code>
       support. For platforms without NUMA support,
       <span class="command">
        <strong>
         CMake
        </strong>
       </span>
       behaves as follows:
      </p>
      <div class="itemizedlist">
       <ul class="itemizedlist" style="list-style-type: circle; ">
        <li class="listitem">
         <p>
          With no NUMA option (the normal case),
          <span class="command">
           <strong>
            CMake
           </strong>
          </span>
          continues normally, producing
                only this warning:
          <span class="errortext">
           NUMA library missing or
                required version not available
          </span>
          .
         </p>
        </li>
        <li class="listitem">
         <p>
          With
          <a class="link" href="source-configuration-options.html#option_cmake_with_numa">
           <code class="option">
            -DWITH_NUMA=ON
           </code>
          </a>
          ,
          <span class="command">
           <strong>
            CMake
           </strong>
          </span>
          aborts with this error:
          <span class="errortext">
           NUMA library missing or required version not
                available
          </span>
          .
         </p>
        </li>
       </ul>
      </div>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_with_package_flags">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_with_package_flags">
        <code class="option">
         -DWITH_PACKAGE_FLAGS=
         <em class="replaceable">
          <code>
           bool
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045327616704">
      </a>
      <a class="indexterm" name="idm46045327615248">
      </a>
      <p>
       For flags typically used for RPM and Debian packages,
            whether to add them to standalone builds on those platforms.
            The default is
       <code class="literal">
        ON
       </code>
       for nondebug builds.
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_with_protobuf">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_with_protobuf">
        <code class="option">
         -DWITH_PROTOBUF=
         <em class="replaceable">
          <code>
           protobuf_type
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045327609952">
      </a>
      <a class="indexterm" name="idm46045327608464">
      </a>
      <p>
       Which Protocol Buffers package to use.
       <em class="replaceable">
        <code>
         protobuf_type
        </code>
       </em>
       can be one of the
            following values:
      </p>
      <div class="itemizedlist">
       <ul class="itemizedlist" style="list-style-type: circle; ">
        <li class="listitem">
         <p>
          <code class="literal">
           bundled
          </code>
          : Use the package bundled with
                the distribution. This is the default. Optionally use
          <a class="link" href="source-configuration-options.html#option_cmake_install_priv_libdir">
           <code class="option">
            INSTALL_PRIV_LIBDIR
           </code>
          </a>
          to
                modify the dynamic Protobuf library directory.
         </p>
        </li>
        <li class="listitem">
         <p>
          <code class="literal">
           system
          </code>
          : Use the package installed on
                the system.
         </p>
        </li>
       </ul>
      </div>
      <p>
       Other values are ignored, with a fallback to
       <code class="literal">
        bundled
       </code>
       .
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_with_rapid">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_with_rapid">
        <code class="option">
         -DWITH_RAPID=
         <em class="replaceable">
          <code>
           bool
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045327597888">
      </a>
      <a class="indexterm" name="idm46045327596400">
      </a>
      <p>
       Whether to build the rapid development cycle plugins. When
            enabled, a
       <code class="filename">
        rapid
       </code>
       directory is created
            in the build tree containing these plugins. When disabled,
            no
       <code class="filename">
        rapid
       </code>
       directory is created in the
            build tree. The default is
       <code class="literal">
        ON
       </code>
       , unless the
       <code class="filename">
        rapid
       </code>
       directory is removed from the
            source tree, in which case the default becomes
       <code class="literal">
        OFF
       </code>
       .
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_with_rapidjson">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_with_rapidjson">
        <code class="option">
         -DWITH_RAPIDJSON=
         <em class="replaceable">
          <code>
           rapidjson_type
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045327588112">
      </a>
      <a class="indexterm" name="idm46045327586624">
      </a>
      <p>
       The type of RapidJSON library support to include.
       <em class="replaceable">
        <code>
         rapidjson_type
        </code>
       </em>
       can be one of the
            following values:
      </p>
      <div class="itemizedlist">
       <ul class="itemizedlist" style="list-style-type: circle; ">
        <li class="listitem">
         <p>
          <code class="literal">
           bundled
          </code>
          : Use the RapidJSON library
                bundled with the distribution. This is the default.
         </p>
        </li>
        <li class="listitem">
         <p>
          <code class="literal">
           system
          </code>
          : Use the system RapidJSON
                library. Version 1.1.0 or later is required.
         </p>
        </li>
       </ul>
      </div>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_with_router">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_with_router">
        <code class="option">
         -DWITH_ROUTER=
         <em class="replaceable">
          <code>
           bool
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045327578208">
      </a>
      <a class="indexterm" name="idm46045327576720">
      </a>
      <p>
       Whether to build MySQL Router. The default is
       <code class="literal">
        ON
       </code>
       .
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_with_sasl">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_with_sasl">
        <code class="option">
         -DWITH_SASL=
         <em class="replaceable">
          <code>
           value
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045327571776">
      </a>
      <a class="indexterm" name="idm46045327570288">
      </a>
      <p>
       Internal use only. Not supported on Windows.
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_with_ssl">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_with_ssl">
        <code class="option">
         -DWITH_SSL={
         <em class="replaceable">
          <code>
           ssl_type
          </code>
         </em>
        </code>
       </a>
       |
       <em class="replaceable">
        <code>
         path_name
        </code>
       </em>
       }
      </p>
      <a class="indexterm" name="idm46045327565472">
      </a>
      <a class="indexterm" name="idm46045327563984">
      </a>
      <p>
       For support of encrypted connections, entropy for random
            number generation, and other encryption-related operations,
            MySQL must be built using an SSL library. This option
            specifies which SSL library to use.
      </p>
      <div class="itemizedlist">
       <ul class="itemizedlist" style="list-style-type: circle; ">
        <li class="listitem">
         <p>
          <em class="replaceable">
           <code>
            ssl_type
           </code>
          </em>
          can be one of the
                following values:
         </p>
         <div class="itemizedlist">
          <ul class="itemizedlist" style="list-style-type: square; ">
           <li class="listitem">
            <p>
             <code class="literal">
              system
             </code>
             : Use the system OpenSSL
                    library. This is the default.
            </p>
            <p>
             On macOS and Windows, using
             <code class="literal">
              system
             </code>
             configures MySQL to build
                    as if CMake was invoked with
             <em class="replaceable">
              <code>
               path_name
              </code>
             </em>
             points to a
                    manually installed OpenSSL library. This is because
                    they do not have system SSL libraries. On macOS,
             <span class="emphasis">
              <em>
               brew install openssl
              </em>
             </span>
             installs
                    to
             <code class="filename">
              /usr/local/opt/openssl
             </code>
             so
                    that
             <code class="literal">
              system
             </code>
             can find it. On
                    Windows, it checks
             <code class="filename">
              %ProgramFiles%/OpenSSL
             </code>
             ,
             <code class="filename">
              %ProgramFiles%/OpenSSL-Win32
             </code>
             ,
             <code class="filename">
              %ProgramFiles%/OpenSSL-Win64
             </code>
             ,
             <code class="filename">
              C:/OpenSSL
             </code>
             ,
             <code class="filename">
              C:/OpenSSL-Win32
             </code>
             , and
             <code class="filename">
              C:/OpenSSL-Win64
             </code>
             .
            </p>
           </li>
           <li class="listitem">
            <p>
             <code class="literal">
              yes
             </code>
             : This is a synonym for
             <code class="literal">
              system
             </code>
             .
            </p>
           </li>
           <li class="listitem">
            <p>
             <code class="literal">
              openssl
              <em class="replaceable">
               <code>
                version
               </code>
              </em>
             </code>
             :
                    Use an alternate OpenSSL system package such as
             <code class="literal">
              openssl11
             </code>
             on EL7, or
             <code class="literal">
              openssl3
             </code>
             (or
             <code class="literal">
              openssl3-fips
             </code>
             ) on EL8.
            </p>
            <p>
             Authentication plugins, such as LDAP and Kerberos,
                    are disabled as they do not support these
                    alternative versions of OpenSSL.
            </p>
           </li>
          </ul>
         </div>
        </li>
        <li class="listitem">
         <p>
          <em class="replaceable">
           <code>
            path_name
           </code>
          </em>
          is the path name to
                the OpenSSL installation to use. This can be preferable
                to using the
          <em class="replaceable">
           <code>
            ssl_type
           </code>
          </em>
          value
          <code class="literal">
           system
          </code>
          because it can prevent CMake
                from detecting and using an older or incorrect OpenSSL
                version installed on the system. (Another permitted way
                to do the same thing is to set
          <code class="option">
           WITH_SSL
          </code>
          to
          <code class="literal">
           system
          </code>
          and set the
          <code class="option">
           CMAKE_PREFIX_PATH
          </code>
          option to
          <em class="replaceable">
           <code>
            path_name
           </code>
          </em>
          .)
         </p>
        </li>
       </ul>
      </div>
      <p>
       For additional information about configuring the SSL
            library, see
       <a class="xref" href="source-ssl-library-configuration.html" title="2.8.6 Configuring SSL Library Support">
        Section 2.8.6, “Configuring SSL Library Support”
       </a>
       .
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_with_show_parse_tree">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_with_show_parse_tree">
        <code class="option">
         -DWITH_SHOW_PARSE_TREE=
         <em class="replaceable">
          <code>
           bool
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045327534544">
      </a>
      <a class="indexterm" name="idm46045327533088">
      </a>
      <a class="indexterm" name="idm46045327531584">
      </a>
      <p>
       Enables support for
       <a class="link" href="show-parse-tree.html" title="15.7.7.26 SHOW PARSE_TREE Statement">
        <code class="literal">
         SHOW
            PARSE_TREE
        </code>
       </a>
       in the server, used in development and
            debugging only. Not used for release builds or supported in
            production.
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_with_systemd">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_with_systemd">
        <code class="option">
         -DWITH_SYSTEMD=
         <em class="replaceable">
          <code>
           bool
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045327525808">
      </a>
      <a class="indexterm" name="idm46045327524320">
      </a>
      <a class="indexterm" name="idm46045327522832">
      </a>
      <p>
       Whether to enable installation of
       <span class="command">
        <strong>
         systemd
        </strong>
       </span>
       support files. By default, this option is disabled. When
            enabled,
       <span class="command">
        <strong>
         systemd
        </strong>
       </span>
       support files are
            installed, and scripts such as
       <a class="link" href="mysqld-safe.html" title="6.3.2 mysqld_safe — MySQL Server Startup Script">
        <span class="command">
         <strong>
          mysqld_safe
         </strong>
        </span>
       </a>
       and the System V
            initialization script are not installed. On platforms where
       <span class="command">
        <strong>
         systemd
        </strong>
       </span>
       is not available, enabling
       <a class="link" href="source-configuration-options.html#option_cmake_with_systemd">
        <code class="option">
         WITH_SYSTEMD
        </code>
       </a>
       results in an
            error from
       <span class="command">
        <strong>
         CMake
        </strong>
       </span>
       .
      </p>
      <p>
       When the server was built using this option, MySQL includes
            all
       <span class="command">
        <strong>
         systemd
        </strong>
       </span>
       messages in the server's
            error log (see
       <a class="xref" href="error-log.html" title="7.4.2 The Error Log">
        Section 7.4.2, “The Error Log”
       </a>
       ).
      </p>
      <p>
       For more information about using
       <span class="command">
        <strong>
         systemd
        </strong>
       </span>
       ,
            see
       <a class="xref" href="using-systemd.html" title="2.5.9 Managing MySQL Server with systemd">
        Section 2.5.9, “Managing MySQL Server with systemd”
       </a>
       . That section also
            includes information about specifying options otherwise
            specified in
       <code class="literal">
        [mysqld_safe]
       </code>
       option groups.
            Because
       <a class="link" href="mysqld-safe.html" title="6.3.2 mysqld_safe — MySQL Server Startup Script">
        <span class="command">
         <strong>
          mysqld_safe
         </strong>
        </span>
       </a>
       is not installed when
       <span class="command">
        <strong>
         systemd
        </strong>
       </span>
       is used, such options must be
            specified another way.
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_with_system_libs">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_with_system_libs">
        <code class="option">
         -DWITH_SYSTEM_LIBS=
         <em class="replaceable">
          <code>
           bool
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045327506464">
      </a>
      <a class="indexterm" name="idm46045327504976">
      </a>
      <p>
       This option serves as an
       <span class="quote">
        “
        <span class="quote">
         umbrella
        </span>
        ”
       </span>
       option to
            set the
       <code class="literal">
        system
       </code>
       value of any of the
            following
       <span class="command">
        <strong>
         CMake
        </strong>
       </span>
       options that are not set
            explicitly:
       <a class="link" href="source-configuration-options.html#option_cmake_with_curl">
        <code class="option">
         WITH_CURL
        </code>
       </a>
       ,
       <a class="link" href="source-configuration-options.html#option_cmake_with_editline">
        <code class="option">
         WITH_EDITLINE
        </code>
       </a>
       ,
       <a class="link" href="source-configuration-options.html#option_cmake_with_icu">
        <code class="option">
         WITH_ICU
        </code>
       </a>
       ,
       <a class="link" href="source-configuration-options.html#option_cmake_with_libevent">
        <code class="option">
         WITH_LIBEVENT
        </code>
       </a>
       ,
       <a class="link" href="source-configuration-options.html#option_cmake_with_lz4">
        <code class="option">
         WITH_LZ4
        </code>
       </a>
       ,
       <a class="ulink" href="/doc/refman/8.0/en/source-configuration-options.html#option_cmake_with_lzma" target="_top">
        <code class="option">
         WITH_LZMA
        </code>
       </a>
       ,
       <a class="link" href="source-configuration-options.html#option_cmake_with_protobuf">
        <code class="option">
         WITH_PROTOBUF
        </code>
       </a>
       ,
       <a class="ulink" href="/doc/refman/8.0/en/source-configuration-options.html#option_cmake_with_re2" target="_top">
        <code class="option">
         WITH_RE2
        </code>
       </a>
       ,
       <a class="link" href="source-configuration-options.html#option_cmake_with_ssl">
        <code class="option">
         WITH_SSL
        </code>
       </a>
       ,
       <a class="link" href="source-configuration-options.html#option_cmake_with_zlib">
        <code class="option">
         WITH_ZLIB
        </code>
       </a>
       ,
       <a class="link" href="source-configuration-options.html#option_cmake_with_zstd">
        <code class="option">
         WITH_ZSTD
        </code>
       </a>
       .
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_with_systemd_debug">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_with_systemd_debug">
        <code class="option">
         -DWITH_SYSTEMD_DEBUG=
         <em class="replaceable">
          <code>
           bool
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045327488016">
      </a>
      <a class="indexterm" name="idm46045327486560">
      </a>
      <p>
       Whether to produce additional
       <span class="command">
        <strong>
         systemd
        </strong>
       </span>
       debugging information, for platforms on which
       <span class="command">
        <strong>
         systemd
        </strong>
       </span>
       is used to run MySQL. The default
            is
       <code class="literal">
        OFF
       </code>
       .
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_with_tcmalloc">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_with_tcmalloc">
        <code class="option">
         -DWITH_TCMALLOC=
         <em class="replaceable">
          <code>
           bool
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045327479872">
      </a>
      <a class="indexterm" name="idm46045327478384">
      </a>
      <p>
       Whether to link with
       <code class="option">
        -ltcmalloc
       </code>
       . If
            enabled, built-in
       <code class="literal">
        malloc()
       </code>
       ,
       <code class="literal">
        calloc()
       </code>
       ,
       <code class="literal">
        realloc()
       </code>
       ,
            and
       <code class="literal">
        free()
       </code>
       routines are disabled. The
            default is
       <code class="literal">
        OFF
       </code>
       .
      </p>
      <p>
       Beginning with MySQL 8.4.1, a
       <code class="literal">
        tcmalloc
       </code>
       library is included in the source; you can cause the build
            to use the bundled version by setting this option to
       <code class="literal">
        BUNDLED
       </code>
       .
       <code class="literal">
        BUNDLED
       </code>
       is
            supported on Linux systems only.
      </p>
      <p>
       <a class="link" href="source-configuration-options.html#option_cmake_with_tcmalloc">
        <code class="option">
         WITH_TCMALLOC
        </code>
       </a>
       and
       <a class="link" href="source-configuration-options.html#option_cmake_with_jemalloc">
        <code class="option">
         WITH_JEMALLOC
        </code>
       </a>
       are mutually
            exclusive.
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_with_test_trace_plugin">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_with_test_trace_plugin">
        <code class="option">
         -DWITH_TEST_TRACE_PLUGIN=
         <em class="replaceable">
          <code>
           bool
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045327464832">
      </a>
      <a class="indexterm" name="idm46045327463328">
      </a>
      <p>
       Whether to build the test protocol trace client plugin (see
       <a class="ulink" href="/doc/extending-mysql/8.4/en/test-protocol-trace-plugin.html" target="_top">
        Using the Test Protocol Trace Plugin
       </a>
       ). By default,
            this option is disabled. Enabling this option has no effect
            unless the
       <a class="link" href="source-configuration-options.html#option_cmake_with_client_protocol_tracing">
        <code class="option">
         WITH_CLIENT_PROTOCOL_TRACING
        </code>
       </a>
       option is enabled. If MySQL is configured with both options
            enabled, the
       <code class="literal">
        libmysqlclient
       </code>
       client
            library is built with the test protocol trace plugin built
            in, and all the standard MySQL clients load the plugin.
            However, even when the test plugin is enabled, it has no
            effect by default. Control over the plugin is afforded using
            environment variables; see
       <a class="ulink" href="/doc/extending-mysql/8.4/en/test-protocol-trace-plugin.html" target="_top">
        Using the Test Protocol Trace Plugin
       </a>
       .
      </p>
      <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
       <div class="admon-title">
        Note
       </div>
       <p>
        Do
        <span class="emphasis">
         <em>
          not
         </em>
        </span>
        enable the
        <a class="link" href="source-configuration-options.html#option_cmake_with_test_trace_plugin">
         <code class="option">
          WITH_TEST_TRACE_PLUGIN
         </code>
        </a>
        option if you want to use your own protocol trace plugins
              because only one such plugin can be loaded at a time and
              an error occurs for attempts to load a second one. If you
              have already built MySQL with the test protocol trace
              plugin enabled to see how it works, you must rebuild MySQL
              without it before you can use your own plugins.
       </p>
      </div>
      <p>
       For information about writing trace plugins, see
       <a class="ulink" href="/doc/extending-mysql/8.4/en/writing-protocol-trace-plugins.html" target="_top">
        Writing Protocol Trace Plugins
       </a>
       .
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_with_tsan">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_with_tsan">
        <code class="option">
         -DWITH_TSAN=
         <em class="replaceable">
          <code>
           bool
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045327451136">
      </a>
      <a class="indexterm" name="idm46045327449648">
      </a>
      <p>
       Whether to enable the ThreadSanitizer, for compilers that
            support it. The default is off.
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_with_ubsan">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_with_ubsan">
        <code class="option">
         -DWITH_UBSAN=
         <em class="replaceable">
          <code>
           bool
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045327445216">
      </a>
      <a class="indexterm" name="idm46045327443728">
      </a>
      <p>
       Whether to enable the Undefined Behavior Sanitizer, for
            compilers that support it. The default is off.
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_with_unit_tests">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_with_unit_tests">
        <code class="option">
         -DWITH_UNIT_TESTS={ON|OFF}
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045327439552">
      </a>
      <a class="indexterm" name="idm46045327438064">
      </a>
      <p>
       If enabled, compile MySQL with unit tests. The default is
       <code class="literal">
        ON
       </code>
       unless the server is not being
            compiled.
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_with_unixodbc">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_with_unixodbc">
        <code class="option">
         -DWITH_UNIXODBC=
         <em class="replaceable">
          <code>
           1
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045327432864">
      </a>
      <a class="indexterm" name="idm46045327431376">
      </a>
      <p>
       Enables unixODBC support, for Connector/ODBC.
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_with_valgrind">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_with_valgrind">
        <code class="option">
         -DWITH_VALGRIND=
         <em class="replaceable">
          <code>
           bool
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045327427008">
      </a>
      <a class="indexterm" name="idm46045327425520">
      </a>
      <p>
       Whether to compile in the Valgrind header files, which
            exposes the Valgrind API to MySQL code. The default is
       <code class="literal">
        OFF
       </code>
       .
      </p>
      <p>
       To generate a Valgrind-aware debug build,
       <a class="link" href="source-configuration-options.html#option_cmake_with_valgrind">
        <code class="option">
         -DWITH_VALGRIND=1
        </code>
       </a>
       normally is
            combined with
       <a class="link" href="source-configuration-options.html#option_cmake_with_debug">
        <code class="option">
         -DWITH_DEBUG=1
        </code>
       </a>
       .
            See
       <a class="ulink" href="/doc/internals/en/debug-configurations.html" target="_top">
        Building
            Debug Configurations
       </a>
       .
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_with_zlib">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_with_zlib">
        <code class="option">
         -DWITH_ZLIB=
         <em class="replaceable">
          <code>
           zlib_type
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045327417184">
      </a>
      <a class="indexterm" name="idm46045327415696">
      </a>
      <p>
       Some features require that the server be built with
            compression library support, such as the
       <a class="link" href="encryption-functions.html#function_compress">
        <code class="literal">
         COMPRESS()
        </code>
       </a>
       and
       <a class="link" href="encryption-functions.html#function_uncompress">
        <code class="literal">
         UNCOMPRESS()
        </code>
       </a>
       functions, and
            compression of the client/server protocol. The
       <a class="link" href="source-configuration-options.html#option_cmake_with_zlib">
        <code class="option">
         WITH_ZLIB
        </code>
       </a>
       option indicates the
            source of
       <code class="literal">
        zlib
       </code>
       support:
      </p>
      <p>
       The minimum supported version of
       <code class="literal">
        zlib
       </code>
       is
            1.2.13.
      </p>
      <div class="itemizedlist">
       <ul class="itemizedlist" style="list-style-type: circle; ">
        <li class="listitem">
         <p>
          <code class="literal">
           bundled
          </code>
          : Use the
          <code class="literal">
           zlib
          </code>
          library bundled with the
                distribution. This is the default.
         </p>
        </li>
        <li class="listitem">
         <p>
          <code class="literal">
           system
          </code>
          : Use the system
          <code class="literal">
           zlib
          </code>
          library.
         </p>
        </li>
       </ul>
      </div>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_with_zstd">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_with_zstd">
        <code class="option">
         -DWITH_ZSTD=
         <em class="replaceable">
          <code>
           zstd_type
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045327400608">
      </a>
      <a class="indexterm" name="idm46045327399120">
      </a>
      <p>
       Connection compression using the
       <code class="literal">
        zstd
       </code>
       algorithm (see
       <a class="xref" href="connection-compression-control.html" title="6.2.8 Connection Compression Control">
        Section 6.2.8, “Connection Compression Control”
       </a>
       ) requires
            that the server be built with
       <code class="literal">
        zstd
       </code>
       library support. The
       <a class="link" href="source-configuration-options.html#option_cmake_with_zstd">
        <code class="option">
         WITH_ZSTD
        </code>
       </a>
       option indicates the source of
       <code class="literal">
        zstd
       </code>
       support:
      </p>
      <div class="itemizedlist">
       <ul class="itemizedlist" style="list-style-type: circle; ">
        <li class="listitem">
         <p>
          <code class="literal">
           bundled
          </code>
          : Use the
          <code class="literal">
           zstd
          </code>
          library bundled with the
                distribution. This is the default.
         </p>
        </li>
        <li class="listitem">
         <p>
          <code class="literal">
           system
          </code>
          : Use the system
          <code class="literal">
           zstd
          </code>
          library.
         </p>
        </li>
       </ul>
      </div>
     </li>
    </ul>
   </div>
  </div>
  <div class="simplesect">
   <div class="titlepage">
    <div>
     <div class="simple">
      <h4 class="title">
       <a name="cmake-compiler-flags">
       </a>
       Compiler Flags
      </h4>
     </div>
    </div>
   </div>
   <div class="itemizedlist">
    <ul class="itemizedlist" style="list-style-type: disc; ">
     <li class="listitem">
      <p>
       <a name="option_cmake_cmake_c_flags">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_cmake_c_flags">
        <code class="option">
         -DCMAKE_C_FLAGS="
         <em class="replaceable">
          <code>
           flags
          </code>
         </em>
        </code>
       </a>
       "
      </p>
      <a class="indexterm" name="idm46045327383952">
      </a>
      <a class="indexterm" name="idm46045327382464">
      </a>
      <p>
       Flags for the C compiler.
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_cmake_cxx_flags">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_cmake_cxx_flags">
        <code class="option">
         -DCMAKE_CXX_FLAGS="
         <em class="replaceable">
          <code>
           flags
          </code>
         </em>
        </code>
       </a>
       "
      </p>
      <a class="indexterm" name="idm46045327378016">
      </a>
      <a class="indexterm" name="idm46045327376528">
      </a>
      <p>
       Flags for the C++ compiler.
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_with_default_compiler_options">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_with_default_compiler_options">
        <code class="option">
         -DWITH_DEFAULT_COMPILER_OPTIONS=
         <em class="replaceable">
          <code>
           bool
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045327372016">
      </a>
      <a class="indexterm" name="idm46045327370512">
      </a>
      <p>
       Whether to use the flags from
       <code class="filename">
        cmake/build_configurations/compiler_options.cmake
       </code>
       .
      </p>
      <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
       <div class="admon-title">
        Note
       </div>
       <p>
        All optimization flags are carefully chosen and tested by
              the MySQL build team. Overriding them can lead to
              unexpected results and is done at your own risk.
       </p>
      </div>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_optimize_sanitizer_builds">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_optimize_sanitizer_builds">
        <code class="option">
         -DOPTIMIZE_SANITIZER_BUILDS=
         <em class="replaceable">
          <code>
           bool
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045327364384">
      </a>
      <a class="indexterm" name="idm46045327362880">
      </a>
      <p>
       Whether to add
       <code class="option">
        -O1 -fno-inline
       </code>
       to sanitizer
            builds. The default is
       <code class="literal">
        ON
       </code>
       .
      </p>
     </li>
    </ul>
   </div>
   <p>
    To specify your own C and C++ compiler flags, for flags that do
        not affect optimization, use the
    <a class="link" href="source-configuration-options.html#option_cmake_cmake_c_flags">
     <code class="option">
      CMAKE_C_FLAGS
     </code>
    </a>
    and
    <a class="link" href="source-configuration-options.html#option_cmake_cmake_cxx_flags">
     <code class="option">
      CMAKE_CXX_FLAGS
     </code>
    </a>
    CMake options.
   </p>
   <p>
    When providing your own compiler flags, you might want to
        specify
    <a class="link" href="source-configuration-options.html#option_cmake_cmake_build_type">
     <code class="option">
      CMAKE_BUILD_TYPE
     </code>
    </a>
    as well.
   </p>
   <p>
    For example, to create a 32-bit release build on a 64-bit Linux
        machine, do this:
   </p>
   <div class="copytoclipboard-wrapper">
    <pre class="programlisting language-terminal"><div class="docs-select-all right" id="sa75358492"><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">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> <span class="token constant">-DCMAKE_C_FLAGS</span><span class="token attr-value"><span class="token punctuation">=</span>-m32</span> \
  <span class="token constant">-DCMAKE_CXX_FLAGS</span><span class="token attr-value"><span class="token punctuation">=</span>-m32</span> \
  <span class="token constant">-DCMAKE_BUILD_TYPE</span><span class="token attr-value"><span class="token punctuation">=</span>RelWithDebInfo</span></code></pre>
   </div>
   <p>
    If you set flags that affect optimization
        (
    <code class="option">
     -O
     <em class="replaceable">
      <code>
       number
      </code>
     </em>
    </code>
    ), you must
        set the
    <code class="option">
     CMAKE_C_FLAGS_
     <em class="replaceable">
      <code>
       build_type
      </code>
     </em>
    </code>
    and/or
    <code class="option">
     CMAKE_CXX_FLAGS_
     <em class="replaceable">
      <code>
       build_type
      </code>
     </em>
    </code>
    options, where
    <em class="replaceable">
     <code>
      build_type
     </code>
    </em>
    corresponds
        to the
    <a class="link" href="source-configuration-options.html#option_cmake_cmake_build_type">
     <code class="option">
      CMAKE_BUILD_TYPE
     </code>
    </a>
    value. To
        specify a different optimization for the default build type
        (
    <code class="literal">
     RelWithDebInfo
    </code>
    ) set the
    <code class="option">
     CMAKE_C_FLAGS_RELWITHDEBINFO
    </code>
    and
    <code class="option">
     CMAKE_CXX_FLAGS_RELWITHDEBINFO
    </code>
    options. For
        example, to compile on Linux with
    <code class="option">
     -O3
    </code>
    and with
        debug symbols, do this:
   </p>
   <div class="copytoclipboard-wrapper">
    <pre class="programlisting language-terminal"><div class="docs-select-all right" id="sa27946346"><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">cmake</span> <span class="token punctuation">.</span><span class="token punctuation">.</span> <span class="token constant">-DCMAKE_C_FLAGS_RELWITHDEBINFO</span>=<span class="token atrule">"-O3 -g"</span> \
  <span class="token constant">-DCMAKE_CXX_FLAGS_RELWITHDEBINFO</span>=<span class="token atrule">"-O3 -g"</span></code></pre>
   </div>
  </div>
  <div class="simplesect">
   <div class="titlepage">
    <div>
     <div class="simple">
      <h4 class="title">
       <a name="cmake-mysql-cluster-options">
       </a>
       CMake Options for Compiling NDB Cluster
      </h4>
     </div>
    </div>
   </div>
   <p>
    To compile with support for NDB Cluster, you can use
    <a class="link" href="source-configuration-options.html#option_cmake_with_ndb">
     <code class="option">
      -DWITH_NDB
     </code>
    </a>
    , which causes the build
        to include the NDB storage engine and all NDB programs. This
        option is enabled by default. To prevent building of the NDB
        storage engine plugin, use
    <a class="link" href="source-configuration-options.html#option_cmake_with_ndbcluster_storage_engine">
     <code class="option">
      -DWITH_NDBCLUSTER_STORAGE_ENGINE=OFF
     </code>
    </a>
    .
        Other aspects of the build can be controlled using the other
        options listed in this section.
   </p>
   <p>
    The following options apply when building the MySQL sources with
        NDB Cluster support.
   </p>
   <div class="itemizedlist">
    <ul class="itemizedlist" style="list-style-type: disc; ">
     <li class="listitem">
      <p>
       <a name="option_cmake_ndb_utils_link_dynamic">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_ndb_utils_link_dynamic">
        <code class="option">
         -DNDB_UTILS_LINK_DYNAMIC={ON|OFF}
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045327334816">
      </a>
      <a class="indexterm" name="idm46045327333328">
      </a>
      <p>
       Controls whether NDB utilities such as
       <a class="link" href="mysql-cluster-programs-ndb-drop-table.html" title="25.5.11 ndb_drop_table — Drop an NDB Table">
        <span class="command">
         <strong>
          ndb_drop_table
         </strong>
        </span>
       </a>
       are linked with
       <code class="literal">
        ndbclient
       </code>
       statically
            (
       <code class="literal">
        OFF
       </code>
       ) or dynamically
            (
       <code class="literal">
        ON
       </code>
       );
       <code class="literal">
        OFF
       </code>
       (static
            linking) is the default. Normally static linking is used
            when building these to avoid problems with
       <code class="literal">
        LD_LIBRARY_PATH
       </code>
       , or when multiple
            versions of
       <code class="literal">
        ndbclient
       </code>
       are installed. This
            option is intended for creating Docker images and possibly
            other cases in which the target environment is subject to
            precise control and it is desirable to reduce image size.
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_with_classpath">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_with_classpath">
        <code class="option">
         -DWITH_CLASSPATH=
         <em class="replaceable">
          <code>
           path
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045327322784">
      </a>
      <a class="indexterm" name="idm46045327321296">
      </a>
      <p>
       Sets the classpath for building MySQL NDB Cluster Connector for Java. The default is
            empty. This option is ignored if
       <a class="link" href="source-configuration-options.html#option_cmake_with_ndb_java">
        <code class="option">
         -DWITH_NDB_JAVA=OFF
        </code>
       </a>
       is used.
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_with_error_insert">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_with_error_insert">
        <code class="option">
         -DWITH_ERROR_INSERT={ON|OFF}
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045327316096">
      </a>
      <a class="indexterm" name="idm46045327314592">
      </a>
      <p>
       Enables error injection in the
       <a class="link" href="mysql-cluster.html" title="Chapter 25 MySQL NDB Cluster 8.4">
        <code class="literal">
         NDB
        </code>
       </a>
       kernel. For testing only;
            not intended for use in building production binaries. The
            default is
       <code class="literal">
        OFF
       </code>
       .
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_with_ndb">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_with_ndb">
        <code class="option">
         -DWITH_NDB={ON|OFF}
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045327308496">
      </a>
      <a class="indexterm" name="idm46045327307008">
      </a>
      <p>
       Build MySQL NDB Cluster; build the NDB plugin and all NDB
            Cluster programs.
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_with_ndbapi_examples">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_with_ndbapi_examples">
        <code class="option">
         -DWITH_NDBAPI_EXAMPLES={ON|OFF}
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045327302800">
      </a>
      <a class="indexterm" name="idm46045327301296">
      </a>
      <p>
       Build NDB API example programs in
       <code class="filename">
        storage/ndb/ndbapi-examples/
       </code>
       . See
       <a class="ulink" href="/doc/ndbapi/en/ndb-examples.html" target="_top">
        NDB API Examples
       </a>
       , for information about these.
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_with_ndbcluster_storage_engine">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_with_ndbcluster_storage_engine">
        <code class="option">
         -DWITH_NDBCLUSTER_STORAGE_ENGINE={ON|OFF}
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045327295520">
      </a>
      <a class="indexterm" name="idm46045327294016">
      </a>
      <p>
       Controls (only) whether the
       <code class="literal">
        NDBCLUSTER
       </code>
       storage engine is included in the build;
       <a class="link" href="source-configuration-options.html#option_cmake_with_ndb">
        <code class="option">
         WITH_NDB
        </code>
       </a>
       enables this option
            automatically, so it is recommended that you use
       <code class="option">
        WITH_NDB
       </code>
       instead.
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_with_ndbcluster">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_with_ndbcluster">
        <code class="option">
         -DWITH_NDBCLUSTER={ON|OFF}
        </code>
       </a>
       (DEPRECATED)
      </p>
      <a class="indexterm" name="idm46045327287552">
      </a>
      <a class="indexterm" name="idm46045327286064">
      </a>
      <p>
       Build and link in support for the
       <a class="link" href="mysql-cluster.html" title="Chapter 25 MySQL NDB Cluster 8.4">
        <code class="literal">
         NDB
        </code>
       </a>
       storage engine in
       <a class="link" href="mysqld.html" title="6.3.1 mysqld — The MySQL Server">
        <span class="command">
         <strong>
          mysqld
         </strong>
        </span>
       </a>
       .
      </p>
      <p>
       This option is deprecated and subject to eventual removal;
            use
       <a class="link" href="source-configuration-options.html#option_cmake_with_ndb">
        <code class="option">
         WITH_NDB
        </code>
       </a>
       instead.
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_with_ndbmtd">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_with_ndbmtd">
        <code class="option">
         -DWITH_NDBMTD={ON|OFF}
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045327277968">
      </a>
      <a class="indexterm" name="idm46045327276480">
      </a>
      <p>
       Build the multithreaded data node executable
       <a class="link" href="mysql-cluster-programs-ndbmtd.html" title="25.5.3 ndbmtd — The NDB Cluster Data Node Daemon (Multi-Threaded)">
        <span class="command">
         <strong>
          ndbmtd
         </strong>
        </span>
       </a>
       . The default is
       <code class="literal">
        ON
       </code>
       .
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_with_ndb_debug">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_with_ndb_debug">
        <code class="option">
         -DWITH_NDB_DEBUG={ON|OFF}
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045327270224">
      </a>
      <a class="indexterm" name="idm46045327268736">
      </a>
      <p>
       Enable building the debug versions of the NDB Cluster
            binaries. This is
       <code class="literal">
        OFF
       </code>
       by default.
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_with_ndb_java">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_with_ndb_java">
        <code class="option">
         -DWITH_NDB_JAVA={ON|OFF}
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045327263920">
      </a>
      <a class="indexterm" name="idm46045327262432">
      </a>
      <p>
       Enable building NDB Cluster with Java support, including
            support for ClusterJ (see
       <a class="ulink" href="/doc/ndbapi/en/mccj.html" target="_top">
        MySQL NDB Cluster Connector for Java
       </a>
       ).
      </p>
      <p>
       This option is
       <code class="literal">
        ON
       </code>
       by default. If you do
            not wish to compile NDB Cluster with Java support, you must
            disable it explicitly by specifying
       <code class="option">
        -DWITH_NDB_JAVA=OFF
       </code>
       when running
       <span class="command">
        <strong>
         CMake
        </strong>
       </span>
       . Otherwise, if Java cannot be
            found, configuration of the build fails.
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_with_ndb_port">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_with_ndb_port">
        <code class="option">
         -DWITH_NDB_PORT=
         <em class="replaceable">
          <code>
           port
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045327254608">
      </a>
      <a class="indexterm" name="idm46045327253120">
      </a>
      <p>
       Causes the NDB Cluster management server
            (
       <a class="link" href="mysql-cluster-programs-ndb-mgmd.html" title="25.5.4 ndb_mgmd — The NDB Cluster Management Server Daemon">
        <span class="command">
         <strong>
          ndb_mgmd
         </strong>
        </span>
       </a>
       ) that is built to use this
       <em class="replaceable">
        <code>
         port
        </code>
       </em>
       by default. If this option
            is unset, the resulting management server tries to use port
            1186 by default.
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_with_ndb_test">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_with_ndb_test">
        <code class="option">
         -DWITH_NDB_TEST={ON|OFF}
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045327247024">
      </a>
      <a class="indexterm" name="idm46045327245536">
      </a>
      <p>
       If enabled, include a set of NDB API test programs. The
            default is
       <code class="literal">
        OFF
       </code>
       .
      </p>
     </li>
     <li class="listitem">
      <p>
       <a name="option_cmake_with_ndb_tls_search_path">
       </a>
       <a class="link" href="source-configuration-options.html#option_cmake_with_ndb_tls_search_path">
        <code class="option">
         -DWITH_NDB_TLS_SEARCH_PATH=
         <em class="replaceable">
          <code>
           path
          </code>
         </em>
        </code>
       </a>
      </p>
      <a class="indexterm" name="idm46045327240368">
      </a>
      <a class="indexterm" name="idm46045327238864">
      </a>
      <p>
       Set the default path searched by
       <a class="link" href="mysql-cluster-programs-ndb-sign-keys.html" title="25.5.28 ndb_sign_keys — Create, Sign, and Manage TLS Keys and Certificates for NDB Cluster">
        <span class="command">
         <strong>
          ndb_sign_keys
         </strong>
        </span>
       </a>
       and other
       <code class="literal">
        NDB
       </code>
       programs for TLS certificate and key
            files.
      </p>
      <p>
       The default for Windows platforms is
       <code class="literal">
        $HOMEDIR/ndb-tls
       </code>
       ; for other platforms,
            such as Linux, it is
       <code class="literal">
        $HOME/ndb-tls
       </code>
       .
      </p>
     </li>
    </ul>
   </div>
  </div>
 </div>
 <br/>
</div>
