summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--cmake/QtHeadersClean.cmake23
-rw-r--r--cmake/QtModuleHelpers.cmake2
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}")