diff options
-rw-r--r-- | cmake/QtHeadersClean.cmake | 23 | ||||
-rw-r--r-- | cmake/QtModuleHelpers.cmake | 2 |
2 files changed, 17 insertions, 8 deletions
diff --git a/cmake/QtHeadersClean.cmake b/cmake/QtHeadersClean.cmake index 3f5dc7525d..f73c7e409c 100644 --- a/cmake/QtHeadersClean.cmake +++ b/cmake/QtHeadersClean.cmake @@ -1,10 +1,10 @@ # Copyright (C) 2022 The Qt Company Ltd. # SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 -# Add a custom ${module_include_name}_header_check target that builds each header in +# Add a custom ${module_target}_headersclean_check target that builds each header in # ${module_headers} with a custom set of defines. This makes sure our public headers # are self-contained, and also compile with more strict compiler options. -function(qt_internal_add_headers_clean_target +function(qt_internal_add_headersclean_target module_target module_include_name module_headers) @@ -188,7 +188,9 @@ function(qt_internal_add_headers_clean_target -o${artifact_path} IMPLICIT_DEPENDS CXX VERBATIM - COMMAND_EXPAND_LISTS) + COMMAND_EXPAND_LISTS + DEPENDS "${input_path}" + ) list(APPEND hclean_artifacts "${artifact_path}") endforeach() @@ -221,17 +223,24 @@ function(qt_internal_add_headers_clean_target -Fo${artifact_path} "${source_path}" IMPLICIT_DEPENDS CXX VERBATIM - COMMAND_EXPAND_LISTS) + COMMAND_EXPAND_LISTS + DEPENDS "${input_path}" + ) list(APPEND hclean_artifacts "${artifact_path}") endforeach() else() - message(ERROR "CMAKE_CXX_COMPILER_ID \"${CMAKE_CXX_COMPILER_ID}\" is not supported for the headersclean check.") + message(FATAL_ERROR "CMAKE_CXX_COMPILER_ID \"${CMAKE_CXX_COMPILER_ID}\" is not supported" + " for the headersclean check.") endif() - add_custom_target(${module_include_name}_header_check + add_custom_target(${module_target}_headersclean_check COMMENT "headersclean: Checking headers in ${module_include_name}" DEPENDS ${hclean_artifacts} VERBATIM) - add_dependencies(${module_target} ${module_include_name}_header_check) + if(NOT TARGET headersclean_check) + add_custom_target(headersclean_check ALL) + endif() + + add_dependencies(headersclean_check ${module_target}_headersclean_check) endfunction() diff --git a/cmake/QtModuleHelpers.cmake b/cmake/QtModuleHelpers.cmake index 7c418dfb71..de36e53ad8 100644 --- a/cmake/QtModuleHelpers.cmake +++ b/cmake/QtModuleHelpers.cmake @@ -819,7 +819,7 @@ set(QT_LIBINFIX \"${QT_LIBINFIX}\")") endif() if(QT_FEATURE_headersclean AND NOT arg_NO_MODULE_HEADERS) - qt_internal_add_headers_clean_target( + qt_internal_add_headersclean_target( ${target} "${module_include_name}" "${module_headers_clean}") |