boost build: How to mark an include as a "system" include
<p>In <code>gcc</code> and <code>clang</code>, include directories may be passed to the compiler using <code>-I</code> or <code>-isystem</code>.</p>

<p>The difference is, <code>isystem</code> paths are only searched when angle brackets <code>&lt;&gt;</code> are used in an <code>#include</code> directive, rather than quotes <code>""</code>. Also, certain warnings are suppressed when they appear in system headers (since you presumably can't work around problems in the system headers). (There may be other minor differences as far as I know.)</p>

<p>Not all compilers support this concept, it's an implementation issue, not part of the standard.</p>

<p><a href="https://cmake.org/cmake/help/v3.0/command/include_directories.html" rel="nofollow noreferrer"><code>cmake</code></a> supports this feature specifically, and will "do the right thing" on compilers that support it.</p>

<p><code>scons</code> historically didn't support it, but there are ways to work around this, and also it has <a href="https://bitbucket.org/scons/scons/pull-requests/184/support-isystem-in-parseflags/diff" rel="nofollow noreferrer">some support</a> built-in since fairly recently.</p>

<p>Is there an equivalent feature in <code>boost.build</code> aka <code>bjam</code>, <code>b2</code>? In documentation and examples, the include directories are specified using <code>&lt;include&gt;path/to/files</code> and passed as a requirement of <code>lib</code> or <code>exe</code> targets. But I didn't find any <code>&lt;system_include&gt;</code> or similar feature.</p>

<p>If it doesn't exist, is there any way to work around it? Some projects won't build without warnings on <code>gcc</code> and <code>clang</code> unless these flags are used correctly.</p>