
<!DOCTYPE html>

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

    <div class="document">
      <div class="documentwrapper">
        <div class="bodywrapper">
          <div class="body" role="main">
            
  <div class="section" id="xctest">
<span id="prop_tgt:XCTEST"></span><h1>XCTEST<a class="headerlink" href="#xctest" title="Permalink to this headline">¶</a></h1>
<div class="versionadded">
<p><span class="versionmodified added">New in version 3.3.</span></p>
</div>
<p>This target is a XCTest CFBundle on the Mac.</p>
<p>This property will usually get set via the <span class="target" id="index-0-command:xctest_add_bundle"></span><a class="reference internal" href="../module/FindXCTest.html#command:xctest_add_bundle" title="xctest_add_bundle"><code class="xref cmake cmake-command docutils literal notranslate"><span class="pre">xctest_add_bundle()</span></code></a>
macro in <span class="target" id="index-0-module:FindXCTest"></span><a class="reference internal" href="../module/FindXCTest.html#module:FindXCTest" title="FindXCTest"><code class="xref cmake cmake-module docutils literal notranslate"><span class="pre">FindXCTest</span></code></a> module.</p>
<p>If a module library target has this property set to true it will be
built as a CFBundle when built on the Mac.  It will have the directory
structure required for a CFBundle.</p>
<p>This property depends on <span class="target" id="index-0-prop_tgt:BUNDLE"></span><a class="reference internal" href="BUNDLE.html#prop_tgt:BUNDLE" title="BUNDLE"><code class="xref cmake cmake-prop_tgt docutils literal notranslate"><span class="pre">BUNDLE</span></code></a> to be effective.</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="XCODE_SCHEME_ZOMBIE_OBJECTS.html"
                        title="previous chapter">XCODE_SCHEME_ZOMBIE_OBJECTS</a></p>
  <h4>Next topic</h4>
  <p class="topless"><a href="../prop_test/ATTACHED_FILES.html"
                        title="next chapter">ATTACHED_FILES</a></p>
  <div role="note" aria-label="source link">
    <h3>This Page</h3>
    <ul class="this-page-menu">
      <li><a href="../_sources/prop_tgt/XCTEST.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="../prop_test/ATTACHED_FILES.html" title="ATTACHED_FILES"
             >next</a> |</li>
        <li class="right" >
          <a href="XCODE_SCHEME_ZOMBIE_OBJECTS.html" title="XCODE_SCHEME_ZOMBIE_OBJECTS"
             >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="">XCTEST</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>