
<!DOCTYPE html>

<html lang="en">
  <head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  <title>VS_GLOBAL_SECTION_PRE_&lt;section&gt; &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_STARTUP_PROJECT" href="VS_STARTUP_PROJECT.html" />
    <link rel="prev" title="VS_GLOBAL_SECTION_POST_&lt;section&gt;" href="VS_GLOBAL_SECTION_POST_section.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_STARTUP_PROJECT.html" title="VS_STARTUP_PROJECT"
             accesskey="N">next</a> |</li>
        <li class="right" >
          <a href="VS_GLOBAL_SECTION_POST_section.html" title="VS_GLOBAL_SECTION_POST_&lt;section&gt;"
             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="">VS_GLOBAL_SECTION_PRE_&lt;section&gt;</a></li> 
      </ul>
    </div>  

    <div class="document">
      <div class="documentwrapper">
        <div class="bodywrapper">
          <div class="body" role="main">
            
  <div class="section" id="vs-global-section-pre-section">
<span id="prop_dir:VS_GLOBAL_SECTION_PRE_<section>"></span><h1>VS_GLOBAL_SECTION_PRE_&lt;section&gt;<a class="headerlink" href="#vs-global-section-pre-section" title="Permalink to this headline">¶</a></h1>
<p>Specify a preSolution global section in Visual Studio.</p>
<p>Setting a property like this generates an entry of the following form
in the solution file:</p>
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>GlobalSection(&lt;section&gt;) = preSolution
  &lt;contents based on property value&gt;
EndGlobalSection
</pre></div>
</div>
<p>The property must be set to a semicolon-separated list of <code class="docutils literal notranslate"><span class="pre">key=value</span></code>
pairs.  Each such pair will be transformed into an entry in the
solution global section.  Whitespace around key and value is ignored.
List elements which do not contain an equal sign are skipped.</p>
<p>This property only works for Visual Studio 9 and above; it is ignored
on other generators.  The property only applies when set on a
directory whose <code class="docutils literal notranslate"><span class="pre">CMakeLists.txt</span></code> contains a <span class="target" id="index-0-command:project"></span><a class="reference internal" href="../command/project.html#command:project" title="project"><code class="xref cmake cmake-command docutils literal notranslate"><span class="pre">project()</span></code></a> command.</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="VS_GLOBAL_SECTION_POST_section.html"
                        title="previous chapter">VS_GLOBAL_SECTION_POST_&lt;section&gt;</a></p>
  <h4>Next topic</h4>
  <p class="topless"><a href="VS_STARTUP_PROJECT.html"
                        title="next chapter">VS_STARTUP_PROJECT</a></p>
  <div role="note" aria-label="source link">
    <h3>This Page</h3>
    <ul class="this-page-menu">
      <li><a href="../_sources/prop_dir/VS_GLOBAL_SECTION_PRE_section.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_STARTUP_PROJECT.html" title="VS_STARTUP_PROJECT"
             >next</a> |</li>
        <li class="right" >
          <a href="VS_GLOBAL_SECTION_POST_section.html" title="VS_GLOBAL_SECTION_POST_&lt;section&gt;"
             >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="">VS_GLOBAL_SECTION_PRE_&lt;section&gt;</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>