Hi,<div><br><div class="gmail_quote">On Fri, Jun 8, 2012 at 3:14 AM, Robert Dailey <span dir="ltr">&lt;<a href="mailto:rcdailey.lists@gmail.com" target="_blank">rcdailey.lists@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
I think I might know what it is...<div><br></div><div>I do the following:</div><div><br></div><div>include_directories( Z )</div><div>add_library( A )</div><div>include_directories( A ) # Include &quot;A&quot;&#39;s include directory</div>

<div>add_library(B) # B depends on A, and thus includes its header directory</div><div><br></div><div>My assumption was that, at configuration time, a snapshot of the current include directories is taken and used, so thus any further ones that are added will not affect previously created targets in the same directory. However, apparently directory properties are processed at generation time, so this is why I&#39;m seeing this behavior.</div>

<div><br></div><div>Can anyone confirm?</div></blockquote><div><br></div><div>Basically yes. I don&#39;t actually know the internals of CMake but from what I understood, include_directories is executed during the configuration phase and sets a directory-property. The creation of the Makefile/VS file/whatever is done later and simply reads this directory property. So all targets in a directory will use the same include dirs.</div>
<div><br></div><div>Luckily in 2.8.8 CMake gained the ability to set include-directories per target, so you can achieve what</div><div>you want if you run require 2.8.8 and set the INCLUDE_DIRECTORIES target property.</div>
<div><br></div><div>Andreas</div></div></div>