On Fri, Apr 3, 2009 at 6:23 AM, elizabeta petreska <
[email protected]> wrote:

> Hello
>
> I have the following problem.
> I have two libraries A and B.  A depends on B. I am adding B in A with
> add_subdirectory
>
>
> ---this is B cmakelists.txt
> ......
> include_directories(B_external_includes)
>
>
>
> --this is A cmakelists.txt
> .....
> add_subdirectory(../B ${CMAKE_BINARY_DIR})
>
> include_directories(B_includes B_external_includes)
>
>
>
> B uses some external libraries, so it lists the headers from the external
> libraries in its include_directories().
> The thing is in that A also have to have the headers from the external
> libraries listied in its include_directories in order
> to compile. This is unacceptable for me, because all libraries that are
> using B should include not just B_includes but also B_external_inlcudes.
>
> So the question is this :
> Is there any way that A can inherit the include_directories specified by
> its child B, or maybe some other workaround?


By design, include_directories() only affects the current directory and any
subdirectories added with add_subdirectory().

If "A" and "B" are built in the same CMakeLists.txt they will have the same
include paths.  If this is a problem the easiest way to solve the problem is
to build them in separate directories.  If B is built in a subdirectory of A
it will inherit A's include_directories().

Does this help at all?

-- 
Philip Lowman
_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake

Reply via email to