
<!DOCTYPE html>

<html lang="en">
  <head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  <title>IMPORTED_CONFIGURATIONS &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="IMPORTED_GLOBAL" href="IMPORTED_GLOBAL.html" />
    <link rel="prev" title="IMPORTED_COMMON_LANGUAGE_RUNTIME" href="IMPORTED_COMMON_LANGUAGE_RUNTIME.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="IMPORTED_GLOBAL.html" title="IMPORTED_GLOBAL"
             accesskey="N">next</a> |</li>
        <li class="right" >
          <a href="IMPORTED_COMMON_LANGUAGE_RUNTIME.html" title="IMPORTED_COMMON_LANGUAGE_RUNTIME"
             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="">IMPORTED_CONFIGURATIONS</a></li> 
      </ul>
    </div>  

    <div class="document">
      <div class="documentwrapper">
        <div class="bodywrapper">
          <div class="body" role="main">
            
  <div class="section" id="imported-configurations">
<span id="prop_tgt:IMPORTED_CONFIGURATIONS"></span><h1>IMPORTED_CONFIGURATIONS<a class="headerlink" href="#imported-configurations" title="Permalink to this headline">¶</a></h1>
<p>Configurations provided for an IMPORTED target.</p>
<p>Set this to the list of configuration names available for an IMPORTED
target.  The names correspond to configurations defined in the project
from which the target is imported.  If the importing project uses a
different set of configurations the names may be mapped using the
MAP_IMPORTED_CONFIG_&lt;CONFIG&gt; property.  Ignored for non-imported
targets.</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="IMPORTED_COMMON_LANGUAGE_RUNTIME.html"
                        title="previous chapter">IMPORTED_COMMON_LANGUAGE_RUNTIME</a></p>
  <h4>Next topic</h4>
  <p class="topless"><a href="IMPORTED_GLOBAL.html"
                        title="next chapter">IMPORTED_GLOBAL</a></p>
  <div role="note" aria-label="source link">
    <h3>This Page</h3>
    <ul class="this-page-menu">
      <li><a href="../_sources/prop_tgt/IMPORTED_CONFIGURATIONS.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="IMPORTED_GLOBAL.html" title="IMPORTED_GLOBAL"
             >next</a> |</li>
        <li class="right" >
          <a href="IMPORTED_COMMON_LANGUAGE_RUNTIME.html" title="IMPORTED_COMMON_LANGUAGE_RUNTIME"
             >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="">IMPORTED_CONFIGURATIONS</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>