
<!DOCTYPE html>

<html lang="en">
  <head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  <title>VISIBILITY_INLINES_HIDDEN &mdash; CMake 3.23.1 Documentation</title>

    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
    <link rel="stylesheet" type="text/css" href="../_static/cmake.css" />
    
    <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
    <script src="../_static/jquery.js"></script>
    <script src="../_static/underscore.js"></script>
    <script src="../_static/doctools.js"></script>
    
    <link rel="shortcut icon" href="../_static/cmake-favicon.ico"/>
    <link rel="index" title="Index" href="../genindex.html" />
    <link rel="search" title="Search" href="../search.html" />
    <link rel="next" title="VS_CONFIGURATION_TYPE" href="VS_CONFIGURATION_TYPE.html" />
    <link rel="prev" title="VERSION" href="VERSION.html" />
 

  </head><body>

    <div class="related" role="navigation" aria-label="related navigation">
      <h3>Navigation</h3>
      <ul>
        <li class="right" style="margin-right: 10px">
          <a href="../genindex.html" title="General Index"
             accesskey="I">index</a></li>
        <li class="right" >
          <a href="VS_CONFIGURATION_TYPE.html" title="VS_CONFIGURATION_TYPE"
             accesskey="N">next</a> |</li>
        <li class="right" >
          <a href="VERSION.html" title="VERSION"
             accesskey="P">previous</a> |</li>
  <li>
    <img src="../_static/cmake-logo-16.png" alt=""
         style="vertical-align: middle; margin-top: -2px" />
  </li>
  <li>
    <a href="https://cmake.org/">CMake</a> &#187;
  </li>
  <li>
    <a href="../index.html">3.23.1 Documentation</a> &#187;
  </li>

          <li class="nav-item nav-item-1"><a href="../manual/cmake-properties.7.html" accesskey="U">cmake-properties(7)</a> &#187;</li>
        <li class="nav-item nav-item-this"><a href="">VISIBILITY_INLINES_HIDDEN</a></li> 
      </ul>
    </div>  

    <div class="document">
      <div class="documentwrapper">
        <div class="bodywrapper">
          <div class="body" role="main">
            
  <div class="section" id="visibility-inlines-hidden">
<span id="prop_tgt:VISIBILITY_INLINES_HIDDEN"></span><h1>VISIBILITY_INLINES_HIDDEN<a class="headerlink" href="#visibility-inlines-hidden" title="Permalink to this headline">¶</a></h1>
<p>Whether to add a compile flag to hide symbols of inline functions</p>
<p>The <code class="docutils literal notranslate"><span class="pre">VISIBILITY_INLINES_HIDDEN</span></code> property determines whether a flag for
hiding symbols for inline functions, such as <code class="docutils literal notranslate"><span class="pre">-fvisibility-inlines-hidden</span></code>,
should be used when invoking the compiler.  This property affects compilation
in sources of all types of targets (subject to policy <span class="target" id="index-0-policy:CMP0063"></span><a class="reference internal" href="../policy/CMP0063.html#policy:CMP0063" title="CMP0063"><code class="xref cmake cmake-policy docutils literal notranslate"><span class="pre">CMP0063</span></code></a>).</p>
<p>This property is initialized by
the value of the <span class="target" id="index-0-variable:CMAKE_VISIBILITY_INLINES_HIDDEN"></span><a class="reference internal" href="../variable/CMAKE_VISIBILITY_INLINES_HIDDEN.html#variable:CMAKE_VISIBILITY_INLINES_HIDDEN" title="CMAKE_VISIBILITY_INLINES_HIDDEN"><code class="xref cmake cmake-variable docutils literal notranslate"><span class="pre">CMAKE_VISIBILITY_INLINES_HIDDEN</span></code></a> variable if it
is set when a target is created.</p>
</div>


            <div class="clearer"></div>
          </div>
        </div>
      </div>
      <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
        <div class="sphinxsidebarwrapper">
  <h4>Previous topic</h4>
  <p class="topless"><a href="VERSION.html"
                        title="previous chapter">VERSION</a></p>
  <h4>Next topic</h4>
  <p class="topless"><a href="VS_CONFIGURATION_TYPE.html"
                        title="next chapter">VS_CONFIGURATION_TYPE</a></p>
  <div role="note" aria-label="source link">
    <h3>This Page</h3>
    <ul class="this-page-menu">
      <li><a href="../_sources/prop_tgt/VISIBILITY_INLINES_HIDDEN.rst.txt"
            rel="nofollow">Show Source</a></li>
    </ul>
   </div>
<div id="searchbox" style="display: none" role="search">
  <h3 id="searchlabel">Quick search</h3>
    <div class="searchformwrapper">
    <form class="search" action="../search.html" method="get">
      <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
      <input type="submit" value="Go" />
    </form>
    </div>
</div>
<script>$('#searchbox').show(0);</script>
        </div>
      </div>
      <div class="clearer"></div>
    </div>
    <div class="related" role="navigation" aria-label="related navigation">
      <h3>Navigation</h3>
      <ul>
        <li class="right" style="margin-right: 10px">
          <a href="../genindex.html" title="General Index"
             >index</a></li>
        <li class="right" >
          <a href="VS_CONFIGURATION_TYPE.html" title="VS_CONFIGURATION_TYPE"
             >next</a> |</li>
        <li class="right" >
          <a href="VERSION.html" title="VERSION"
             >previous</a> |</li>
  <li>
    <img src="../_static/cmake-logo-16.png" alt=""
         style="vertical-align: middle; margin-top: -2px" />
  </li>
  <li>
    <a href="https://cmake.org/">CMake</a> &#187;
  </li>
  <li>
    <a href="../index.html">3.23.1 Documentation</a> &#187;
  </li>

          <li class="nav-item nav-item-1"><a href="../manual/cmake-properties.7.html" >cmake-properties(7)</a> &#187;</li>
        <li class="nav-item nav-item-this"><a href="">VISIBILITY_INLINES_HIDDEN</a></li> 
      </ul>
    </div>

    <div class="footer" role="contentinfo">
        &#169; Copyright 2000-2022 Kitware, Inc. and Contributors.
      Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.1.2.
    </div>
  </body>
</html>