<br>&gt;&gt; Is there also a way to disable recursive sub directory project inheritance<br>&gt;&gt; in CMake?<br>&gt;I don&#39;t know what you mean by &quot;project inheritance&quot;, but AFAIK it is not<br>&gt;possible to disable inheriting settings from your parent directory.<br>

<br>In Microsoft VS land this would be:<br>Inherited Project Property Sheets<br><br>In Boost BJam - Boost Build V2<br>Project Hierarchies(see <a href="http://www.boost.org/doc/tools/build/doc/userman.pdf">http://www.boost.org/doc/tools/build/doc/userman.pdf</a>)<br>
<br>In the case of BJam:<br>&quot;Projects inherit all attributes (such as requirements) from their parents. Inherited requirements are combined with any requirements<br>specified by the subproject. For example, if top/Jamroot has&quot;<br>
<br>Which is sadly the same case for CMake.  However in BJam this could be rectified (I never thought this was a good idea to begin with) by putting Jamfiles(s) at leaves and then calling as usual &quot;use-project&quot; which would inherit only from a specified project<br>
<br>example of putting Jamfiles at leaves<br><br>/Jamroot<br>/myapps/build/Jamfile<br>/myapps/ap1/build/Jamfile<br>/myapps/ap1/src/somesrc.cpp<br>/mylib/build/Jamfile<br><br>In above form when BJam recursed into /myapps/ap1/build/Jamfile and followed up the tree to Jamroot it would not &quot;see&quot; /myapps/ap1/build/Jamfile project settings unless specified explicitly by &quot;use-project&quot;.  Nice thing about BJam was I could create my own project &quot;directory&quot; structure completely independent of the source tree strucutre<br>
<br><br><br>&gt;Instead of using cached variables, you might consider using global (user-<br>
&gt;defined) properties. That&#39;s what I do when I need to &quot;inherit&quot;, e.g., include<br>
&gt;directories, across directory structures. Note that INCLUDE_DIRECTORIES is a<br>
&gt;property of a directory. So you can always look up that property for a given<br>
&gt;directory.<br><br>I was trying to avoid global anything, but I just can&#39;t seem to get around it.<br><br>Brian<br><br><br><br>