<html devsite>
<head>
  <meta name="project_path" value="/_project.yaml">
  <meta name="book_path" value="/versions/6.1.0/_book.yaml">
</head>
<body>

<h1 class="page-title" id="modules.CompilationContext">CompilationContext</h1>

<!-- {% raw %} -->

Immutable store of information needed for C++ compilation that is aggregated across dependencies.

<h2>Members</h2>
<ul>
    <li>
    <a href="#defines">defines</a>
  </li>
      <li>
    <a href="#direct_headers">direct_headers</a>
  </li>
      <li>
    <a href="#direct_private_headers">direct_private_headers</a>
  </li>
      <li>
    <a href="#direct_public_headers">direct_public_headers</a>
  </li>
      <li>
    <a href="#direct_textual_headers">direct_textual_headers</a>
  </li>
      <li>
    <a href="#framework_includes">framework_includes</a>
  </li>
      <li>
    <a href="#headers">headers</a>
  </li>
      <li>
    <a href="#includes">includes</a>
  </li>
      <li>
    <a href="#local_defines">local_defines</a>
  </li>
      <li>
    <a href="#quote_includes">quote_includes</a>
  </li>
      <li>
    <a href="#system_includes">system_includes</a>
  </li>
      <li>
    <a href="#validation_artifacts">validation_artifacts</a>
  </li>
  </ul>

      <h2 id="defines">defines</h2>
        <p><pre class="rule-signature"><a class="anchor" href="depset.html">depset</a> CompilationContext.defines</pre></p>

    Returns the set of defines needed to compile this target. Each define is a string. These values are propagated to the target's transitive dependents, that is, any rules that depend on this target.


        <h2 id="direct_headers">direct_headers</h2>
        <p><pre class="rule-signature"><a class="anchor" href="list.html">list</a> CompilationContext.direct_headers</pre></p>

    Returns the list of modular headers that are declared by this target. This includes both public headers (such as those listed in "hdrs") and private headers (such as those listed in "srcs").


        <h2 id="direct_private_headers">direct_private_headers</h2>
        <p><pre class="rule-signature"><a class="anchor" href="list.html">list</a> CompilationContext.direct_private_headers</pre></p>

    Returns the list of modular private headers (those listed in "srcs") that are declared by this target.


        <h2 id="direct_public_headers">direct_public_headers</h2>
        <p><pre class="rule-signature"><a class="anchor" href="list.html">list</a> CompilationContext.direct_public_headers</pre></p>

    Returns the list of modular public headers (those listed in "hdrs") that are declared by this target.


        <h2 id="direct_textual_headers">direct_textual_headers</h2>
        <p><pre class="rule-signature"><a class="anchor" href="list.html">list</a> CompilationContext.direct_textual_headers</pre></p>

    Returns the list of textual headers that are declared by this target.


        <h2 id="framework_includes">framework_includes</h2>
        <p><pre class="rule-signature"><a class="anchor" href="depset.html">depset</a> CompilationContext.framework_includes</pre></p>

    Returns the set of search paths (as strings) for framework header files. Usually passed with -F.


        <h2 id="headers">headers</h2>
        <p><pre class="rule-signature"><a class="anchor" href="depset.html">depset</a> CompilationContext.headers</pre></p>

    Returns the set of headers needed to compile this target.


        <h2 id="includes">includes</h2>
        <p><pre class="rule-signature"><a class="anchor" href="depset.html">depset</a> CompilationContext.includes</pre></p>

    Returns the set of search paths (as strings) for header files referenced both by angle bracket and quotes. Usually passed with -I.


        <h2 id="local_defines">local_defines</h2>
        <p><pre class="rule-signature"><a class="anchor" href="depset.html">depset</a> CompilationContext.local_defines</pre></p>

    Returns the set of defines needed to compile this target. Each define is a string. These values are not propagated to the target's transitive dependents.


        <h2 id="quote_includes">quote_includes</h2>
        <p><pre class="rule-signature"><a class="anchor" href="depset.html">depset</a> CompilationContext.quote_includes</pre></p>

    Returns the set of search paths (as strings) for header files referenced by quotes, e.g. #include "foo/bar/header.h". They can be either relative to the exec root or absolute. Usually passed with -iquote.


        <h2 id="system_includes">system_includes</h2>
        <p><pre class="rule-signature"><a class="anchor" href="depset.html">depset</a> CompilationContext.system_includes</pre></p>

    Returns the set of search paths (as strings) for header files referenced by angle brackets, e.g. #include &lt;foo/bar/header.h&gt;. They can be either relative to the exec root or absolute. Usually passed with -isystem.


        <h2 id="validation_artifacts">validation_artifacts</h2>
        <p><pre class="rule-signature"><a class="anchor" href="depset.html">depset</a> CompilationContext.validation_artifacts</pre></p>

    Returns the set of validation artifacts.



</body>
</html>

<!-- {% endraw %} -->
