diff --git a/cmake/modules/RootNewMacros.cmake b/cmake/modules/RootNewMacros.cmake index 72a4921f441bb..bdb1a668cd75d 100644 --- a/cmake/modules/RootNewMacros.cmake +++ b/cmake/modules/RootNewMacros.cmake @@ -290,9 +290,15 @@ function(ROOT_GENERATE_DICTIONARY dictionary) foreach(dep ${ARG_DEPENDENCIES}) if(TARGET ${dep}) - get_property(dep_include_dirs TARGET ${dep} PROPERTY INCLUDE_DIRECTORIES) + get_property(dep_include_dirs TARGET ${dep} PROPERTY INTERFACE_INCLUDE_DIRECTORIES) foreach(d ${dep_include_dirs}) - set(includedirs ${includedirs} -I${d}) + string(REGEX MATCHALL "^[$]<.*>$" is_generator_expr ${d}) + string(REGEX MATCHALL "^[$]$" is_build_interface ${d}) + if(CMAKE_MATCH_0) + set(includedirs ${includedirs} -I${CMAKE_MATCH_0}) + elseif(NOT is_generator_expr) + set(includedirs ${includedirs} -I${d}) + endif() endforeach() endif() endforeach()