[CMake] INCLUDE_DIRECTORIES in sub-directories doesn't work?

Sean Soria sean.soria at gmail.com
Tue Nov 25 17:43:17 EST 2008


No, this doesn't work either:
CMakeLists.txt:
ADD_SUBDIRECTORY(foo)
ADD_EXECUTABLE(hello main.c foo/main.c)

foo/CMakeLists.txt:
SET_PROPERTY(SOURCE main.c PROPERTY INCLUDE_DIRECTORIES
${CMAKE_CURRENT_SOURCE_DIR})

On Tue, Nov 25, 2008 at 2:26 PM, Sean Soria <sean.soria at gmail.com> wrote:
> Include doesn't seem to do what I would expect either.  I want to add
> include directories for any files found in foo.  it seems
> include_directories doesn't do it because there must be a target in
> that directory.  would setting the source property do it?
>
> On Tue, Nov 25, 2008 at 2:10 PM, Bill Hoffman <bill.hoffman at kitware.com> wrote:
>> Sean Soria wrote:
>>>
>>> I had them switched originally and just double checked.  This also doesn't
>>> work:
>>> CMakeLists.txt:
>>> ADD_SUBDIRECTORY(foo)
>>> ADD_EXECUTABLE(hello main.c foo/main.c)
>>>
>>> foo/CMakeLists.txt:
>>> INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR})
>>>
>>
>> The problem is the add_subdirectory.  Although the docs are not clear on
>> this include_directories is essentially a directory property.  It sets the
>> include directories for all targets in that directory.  You could use
>> include instead.
>>
>> include(foo/includes.cmake)
>>
>>
>> -Bill
>>
>>
>


More information about the CMake mailing list