[CMake] [Q] howto merge include dirs from dependencies?

Paweł Sikora pluto at agmk.net
Wed Sep 1 07:47:56 EDT 2010


Dnia 01-09-2010 o 13:08:59 Michael Wild <themiwi at gmail.com> napisał(a):

>
> On 1. Sep, 2010, at 12:36 , Paweł Sikora wrote:
>
>> hi,
>>
>> i'm thinking about migration my custom makefiles for very large
>> project to cmake system and generally have a one problem.
>>
>> e.g. i have a library (mylib) and a binary (coreApp) placed
>> in subdirectiories with one top-level cmakelists.txt:
>>
>>
>> top-level dir:
>> CMakeLists.txt { cmake_minimum_required (VERSION 2.6) add_subdirectory  
>> (core) add_subdirectory (mylib) }
>> core
>> mylib
>>
>> ./core subdir:
>> CMakeLists.txt { add_executable (coreApp main.cpp)  
>> target_link_libraries (coreApp mylib) }
>> main.cpp
>>
>> ./mylib subdir:
>> CMakeLists.txt { include_directories (h) add_library (mylib SHARED  
>> mylib.cpp) }
>> h
>> mylib.cpp
>>
>> ./mylib/h:
>> mylib.hpp
>>
>> for mylib build i'm adding the "h" subdir with interface headers
>> but i need the mylib/h include path also for coreApp build.
>> is there a simply way to pull include dirs from dependencies?
>
> Put include_directories(mylib/h) into the top-level CMakeLists.txt.

naturally but include_directories() in top-level cmakelists.txt is quite
hard to maintance for live project with few levels of hierarchy and  
hundreds
of shared components. implicit include-dirs pulling from dependencies
to current build target would be great.
i wondering is it possible to do it with some kind of properties?


More information about the CMake mailing list