Boost C++ Libraries: Ticket #2054: tests that DEPEND on a library in a project that is MODULAR don't compile https://svn.boost.org/trac10/ticket/2054 <p> see Numeric-concepts-compile, in libs/numeric/ublas/test </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/2054 Trac 1.4.3 miguelf@… Wed, 02 Jul 2008 07:34:48 GMT <link>https://svn.boost.org/trac10/ticket/2054#comment:1 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/2054#comment:1</guid> <description> <p> I was looking into this as I was playing around with modularizing boost::any. I think the solution is to collect the include dirs of each library. For example, assuming libs have been modularized, then set and export these: </p> <blockquote> <p> set(BOOST_ANY_INCLUDE_DIRS ${Boost_SOURCE_DIR}/libs/any/include) </p> </blockquote> <p> then do, </p> <blockquote> <p> include_directories(${BOOST_ANY_INCLUDE_DIRS}) foreach(dep DEPENDS) </p> <blockquote> <p> include_directories(${BOOST_${dep}_INCLUDE_DIRS}) </p> </blockquote> <p> endforeach(dep) </p> </blockquote> <p> The tests and examples directories, if any, will inherit these include dirs. </p> <p> --Miguel </p> </description> <category>Ticket</category> </item> <item> <dc:creator>troy d. straszheim</dc:creator> <pubDate>Wed, 02 Jul 2008 10:06:25 GMT</pubDate> <title>status changed; resolution set https://svn.boost.org/trac10/ticket/2054#comment:2 https://svn.boost.org/trac10/ticket/2054#comment:2 <ul> <li><strong>status</strong> <span class="trac-field-old">new</span> → <span class="trac-field-new">closed</span> </li> <li><strong>resolution</strong> → <span class="trac-field-new">invalid</span> </li> </ul> <p> If a library L is marked MODULAR in its boost_library_project, its headers should be in (top)/libs/L/include/boost, not (top)/boost. </p> <p> If a library M needs L to compile, *both* L and M need to have module.cmake files. L's could look like </p> <pre class="wiki">boost_module(L) </pre><p> if it has no further dependencies, but M's will need </p> <pre class="wiki">boost_module(M DEPENDS L) </pre><p> and this is how M will get the correct path to L's headers. Link dependencies are different, they are handled in boost_add_library(...). This is a little disjoint at the moment. </p> Ticket