diff --git a/modules/ECMAddQch.cmake b/modules/ECMAddQch.cmake
--- a/modules/ECMAddQch.cmake
+++ b/modules/ECMAddQch.cmake
@@ -20,6 +20,7 @@
# [SOURCE_DIRS
[ [...]]]
# [SOURCES [ [...]]]
# |MD_MAINPAGE ]
+# [INCLUDE_DIRS [ [...]]]
# [IMAGE_DIRS [ [...]]]
# [EXAMPLE_DIRS [ [...]]]
# [ORG_DOMAIN ]
@@ -79,6 +80,9 @@
# page. This page will overrule any ``\mainpage`` command in the included
# sources.
#
+# INCLUDE_DIRS specifies the dirs which should be searched for included
+# headers. Dirs can be relative to the current source dir. Since 5.63.
+#
# IMAGE_DIRS specifies the dirs which contain images that are included in the
# documentation. Dirs can be relative to the current source dir.
#
@@ -403,7 +407,7 @@
# Parse arguments
set(options VERBOSE)
set(oneValueArgs NAME BASE_NAME QCH_INSTALL_DESTINATION TAGFILE_INSTALL_DESTINATION COMPONENT VERSION NAMESPACE MD_MAINPAGE ORG_DOMAIN CONFIG_TEMPLATE)
- set(multiValueArgs SOURCE_DIRS SOURCES IMAGE_DIRS EXAMPLE_DIRS PREDEFINED_MACROS BLANK_MACROS LINK_QCHS)
+ set(multiValueArgs SOURCE_DIRS SOURCES INCLUDE_DIRS IMAGE_DIRS EXAMPLE_DIRS PREDEFINED_MACROS BLANK_MACROS LINK_QCHS)
cmake_parse_arguments(ARGS "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
# check required args
@@ -487,6 +491,14 @@
set(ECM_QCH_DOXYGEN_OUTPUTDIR "\"${_apidox_builddir}\"")
set(ECM_QCH_DOXYGEN_TAGFILE "\"${_tags_buildpath}\"")
set(ECM_QCH_DOXYGEN_LAYOUTFILE "\"${_doxygen_layout_file}\"")
+ set(ECM_QCH_DOXYGEN_INCLUDE_PATH)
+ foreach(_include_DIR IN LISTS ARGS_INCLUDE_DIRS)
+ if (NOT IS_ABSOLUTE ${_include_DIR})
+ set(_include_DIR "${CMAKE_CURRENT_SOURCE_DIR}/${_include_DIR}")
+ endif()
+ # concat dirs separated by a break, it is no issue that first has also a leading break
+ set(ECM_QCH_DOXYGEN_INCLUDE_PATH "${ECM_QCH_DOXYGEN_INCLUDE_PATH} \\\n\"${_include_DIR}\"")
+ endforeach()
set(ECM_QCH_DOXYGEN_IMAGEDIRS)
foreach(_image_DIR IN LISTS ARGS_IMAGE_DIRS)
if (NOT IS_ABSOLUTE ${_image_DIR})
diff --git a/modules/ECMQchDoxygen.config.in b/modules/ECMQchDoxygen.config.in
--- a/modules/ECMQchDoxygen.config.in
+++ b/modules/ECMQchDoxygen.config.in
@@ -146,7 +146,7 @@
MACRO_EXPANSION = YES
EXPAND_ONLY_PREDEF = NO
SEARCH_INCLUDES = YES
-INCLUDE_PATH =
+INCLUDE_PATH = @ECM_QCH_DOXYGEN_INCLUDE_PATH@
INCLUDE_FILE_PATTERNS =
EXPAND_AS_DEFINED =
SKIP_FUNCTION_MACROS = YES