[cmake-developers] target_include_directories + genex bug?

Matthew Woehlke matthew.woehlke at kitware.com
Thu Mar 14 16:09:51 EDT 2013


If I have a target 'foo' and I do:

target_include_directories(foo INTERFACE
   $<BUILD_INTERFACE:hello>
   $<INSTALL_INTERFACE:world>
)

...then in the build export file, I see the interface include 
directories 'hello', which seems reasonable.

However, if I do:

target_include_directories(foo INTERFACE
   $<BUILD_INTERFACE:hello>
   $<INSTALL_INTERFACE:world>
   $<BUILD_INTERFACE:left>
   $<INSTALL_INTERFACE:right>
)

...then I get 'hello;$<INSTALL_INTERFACE:world>;left'.

Is this expected/correct?

(Obviously in the above case I could combine things, but in my real 
example I have conditionals and a mixture of INTERFACE and PUBLIC that 
would make it difficult to avoid repeating the genex.)

-- 
Matthew




More information about the cmake-developers mailing list