
<!DOCTYPE html>

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

    <div class="document">
      <div class="documentwrapper">
        <div class="bodywrapper">
          <div class="body" role="main">
            
  <div class="section" id="xcode-scheme-zombie-objects">
<span id="prop_tgt:XCODE_SCHEME_ZOMBIE_OBJECTS"></span><h1>XCODE_SCHEME_ZOMBIE_OBJECTS<a class="headerlink" href="#xcode-scheme-zombie-objects" title="Permalink to this headline">¶</a></h1>
<div class="versionadded">
<p><span class="versionmodified added">New in version 3.13.</span></p>
</div>
<p>Whether to enable <code class="docutils literal notranslate"><span class="pre">Zombie</span> <span class="pre">Objects</span></code>
in the Diagnostics section of the generated Xcode scheme.</p>
<p>This property is initialized by the value of the variable
<span class="target" id="index-0-variable:CMAKE_XCODE_SCHEME_ZOMBIE_OBJECTS"></span><a class="reference internal" href="../variable/CMAKE_XCODE_SCHEME_ZOMBIE_OBJECTS.html#variable:CMAKE_XCODE_SCHEME_ZOMBIE_OBJECTS" title="CMAKE_XCODE_SCHEME_ZOMBIE_OBJECTS"><code class="xref cmake cmake-variable docutils literal notranslate"><span class="pre">CMAKE_XCODE_SCHEME_ZOMBIE_OBJECTS</span></code></a> if it is set
when a target is created.</p>
<p>Please refer to the <span class="target" id="index-0-prop_tgt:XCODE_GENERATE_SCHEME"></span><a class="reference internal" href="XCODE_GENERATE_SCHEME.html#prop_tgt:XCODE_GENERATE_SCHEME" title="XCODE_GENERATE_SCHEME"><code class="xref cmake cmake-prop_tgt docutils literal notranslate"><span class="pre">XCODE_GENERATE_SCHEME</span></code></a> target property
documentation to see all Xcode schema related properties.</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_WORKING_DIRECTORY.html"
                        title="previous chapter">XCODE_SCHEME_WORKING_DIRECTORY</a></p>
  <h4>Next topic</h4>
  <p class="topless"><a href="XCTEST.html"
                        title="next chapter">XCTEST</a></p>
  <div role="note" aria-label="source link">
    <h3>This Page</h3>
    <ul class="this-page-menu">
      <li><a href="../_sources/prop_tgt/XCODE_SCHEME_ZOMBIE_OBJECTS.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="XCTEST.html" title="XCTEST"
             >next</a> |</li>
        <li class="right" >
          <a href="XCODE_SCHEME_WORKING_DIRECTORY.html" title="XCODE_SCHEME_WORKING_DIRECTORY"
             >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="">XCODE_SCHEME_ZOMBIE_OBJECTS</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>