From 6ec3c8f9c9fddfd0b44574a638be06ed592ef8d5 Mon Sep 17 00:00:00 2001 From: Eike Ziller Date: Wed, 11 Sep 2024 12:14:43 +0200 Subject: [PATCH] Fix documentation build if include paths contain generator expressions We already filtered them out for the translation targets, also do that for the developer documentation. Change-Id: I256ddc80471176a7ba1b53d1a28e1d5eacf6fb86 Reviewed-by: Cristian Adam --- cmake/QtCreatorTranslations.cmake | 6 +++--- cmake/Utils.cmake | 8 ++++++++ doc/CMakeLists.txt | 3 +++ src/CMakeLists.txt | 2 ++ 4 files changed, 16 insertions(+), 3 deletions(-) diff --git a/cmake/QtCreatorTranslations.cmake b/cmake/QtCreatorTranslations.cmake index 7379f1e60cc..f7774194ce8 100644 --- a/cmake/QtCreatorTranslations.cmake +++ b/cmake/QtCreatorTranslations.cmake @@ -1,5 +1,7 @@ # Defines function add_translation_targets +include(${CMAKE_CURRENT_LIST_DIR}/Utils.cmake) + function(_extract_ts_data_from_targets outprefix) set(_sources "") set(_includes "") @@ -18,9 +20,7 @@ function(_extract_ts_data_from_targets outprefix) if (NOT _skip_translation) if(_include_dirs) - list(FILTER _include_dirs EXCLUDE REGEX "\\$]+)>" "\\1") + remove_generator_expressions(_include_dirs ${_include_dirs}) list(APPEND _includes ${_include_dirs}) endif() diff --git a/cmake/Utils.cmake b/cmake/Utils.cmake index 766b6ff755e..eca19a7dd0b 100644 --- a/cmake/Utils.cmake +++ b/cmake/Utils.cmake @@ -119,3 +119,11 @@ function(configure_qml_designer Qt6_VERSION) endif() endif() endfunction() + +function(remove_generator_expressions out_var list) + set(result ${list}) + list(FILTER result EXCLUDE REGEX "\\$]+)>" "\\1") + set(${out_var} ${result} PARENT_SCOPE) +endfunction() diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt index 1100fc0733a..8d53d759d81 100644 --- a/doc/CMakeLists.txt +++ b/doc/CMakeLists.txt @@ -1,5 +1,7 @@ # Generate documentation +include(Utils) + option(BUILD_DEVELOPER_DOCS "Include developer documentation" OFF) add_feature_info("Include developer documentation" BUILD_DEVELOPER_DOCS "") @@ -15,6 +17,7 @@ function(_find_all_includes _ret_includes _ret_framework_paths) string(FIND "${_include}" "/src/libs/" _in_libs) string(FIND "${_include}" "${CMAKE_BINARY_DIR}" _in_build) if(_in_plugins LESS 0 AND _in_libs LESS 0 AND _in_build LESS 0) + remove_generator_expressions(_include ${_include}) list(APPEND _all_includes ${_include}) endif() endforeach() diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index f537d8b9c4f..edc23e5ed03 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -91,6 +91,7 @@ file(COPY ${PROJECT_SOURCE_DIR}/cmake/Config.cmake.in ${PROJECT_SOURCE_DIR}/cmake/QtcSeparateDebugInfo.cmake ${PROJECT_SOURCE_DIR}/cmake/QtcSeparateDebugInfo.Info.plist.in + ${PROJECT_SOURCE_DIR}/cmake/Utils.cmake DESTINATION ${CMAKE_BINARY_DIR}/cmake ) @@ -105,6 +106,7 @@ install( ${PROJECT_SOURCE_DIR}/cmake/Config.cmake.in ${PROJECT_SOURCE_DIR}/cmake/QtcSeparateDebugInfo.cmake ${PROJECT_SOURCE_DIR}/cmake/QtcSeparateDebugInfo.Info.plist.in + ${PROJECT_SOURCE_DIR}/cmake/Utils.cmake ${CMAKE_BINARY_DIR}/cmake/QtCreatorConfig.cmake DESTINATION ${IDE_CMAKE_INSTALL_PATH}/QtCreator COMPONENT Devel EXCLUDE_FROM_ALL