diff options
Diffstat (limited to 'cmake/QtModuleHelpers.cmake')
-rw-r--r-- | cmake/QtModuleHelpers.cmake | 41 |
1 files changed, 39 insertions, 2 deletions
diff --git a/cmake/QtModuleHelpers.cmake b/cmake/QtModuleHelpers.cmake index d907214e098..e4dccd7f320 100644 --- a/cmake/QtModuleHelpers.cmake +++ b/cmake/QtModuleHelpers.cmake @@ -30,6 +30,7 @@ macro(qt_internal_get_internal_add_module_keywords option_args single_args multi EXTERNAL_HEADERS_DIR PRIVATE_HEADER_FILTERS QPA_HEADER_FILTERS + RHI_HEADER_FILTERS HEADER_SYNC_SOURCE_DIRECTORY ${__default_target_info_args} ) @@ -115,6 +116,10 @@ endfunction() # The regular expressions that filter QPA header files out of target sources. # The value must use the following format 'regex1|regex2|regex3'. # +# RHI_HEADER_FILTERS +# The regular expressions that filter RHI header files out of target sources. +# The value must use the following format 'regex1|regex2|regex3'. +# # HEADER_SYNC_SOURCE_DIRECTORY # The source directory for header sync procedure. Header files outside this directory will be # ignored by syncqt. The specifying this directory allows to skip the parsing of the whole @@ -447,6 +452,13 @@ function(qt_internal_add_module target) set_target_properties(${target} PROPERTIES _qt_module_qpa_headers_filter_regex "${qpa_filter_regex}") + set(rhi_filter_regex "") + if(arg_RHI_HEADER_FILTERS) + set(rhi_filter_regex "${arg_RHI_HEADER_FILTERS}") + endif() + set_target_properties(${target} + PROPERTIES _qt_module_rhi_headers_filter_regex "${rhi_filter_regex}") + set(private_filter_regex ".+_p(ch)?\\.h") if(arg_PRIVATE_HEADER_FILTERS) set(private_filter_regex "${private_filter_regex}|${arg_PRIVATE_HEADER_FILTERS}") @@ -892,6 +904,7 @@ function(qt_finalize_module target) PUBLIC ${module_headers_public} "${module_depends_header}" PRIVATE ${module_headers_private} QPA ${module_headers_qpa} + RHI ${module_headers_rhi} ) qt_finalize_framework_headers_copy(${target}) @@ -924,6 +937,7 @@ endfunction() # * foo_versioned_inner_include_dir with the value "QtCore/6.2.0/QtCore" # * foo_private_include_dir with the value "QtCore/6.2.0/QtCore/private" # * foo_qpa_include_dir with the value "QtCore/6.2.0/QtCore/qpa" +# * foo_rhi_include_dir with the value "QtCore/6.2.0/QtCore/rhi" # * foo_interface_name the interface name of the module stored in _qt_module_interface_name # property, e.g. Core. # @@ -946,6 +960,9 @@ endfunction() # * foo_<build|install>_qpa_include_dir with # qtbase_build_dir/include/QtCore/6.2.0/QtCore/qpa for build interface and # include/QtCore/6.2.0/QtCore/qpa for install interface. +# * foo_<build|install>_rhi_include_dir with +# qtbase_build_dir/include/QtCore/6.2.0/QtCore/rhi for build interface and +# include/QtCore/6.2.0/QtCore/rhi for install interface. # The following values are set by the function and might be useful in caller's scope: # * repo_install_interface_include_dir contains path to the top-level repository include directory, # e.g. qtbase_build_dir/include @@ -980,6 +997,8 @@ the different base name for the module info variables.") "${${result}_versioned_inner_include_dir}/private") set("${result}_qpa_include_dir" "${${result}_versioned_inner_include_dir}/qpa") + set("${result}_rhi_include_dir" + "${${result}_versioned_inner_include_dir}/rhi") # Module build interface directories set(repo_build_interface_include_dir "${QT_BUILD_DIR}/include") @@ -993,6 +1012,8 @@ the different base name for the module info variables.") "${repo_build_interface_include_dir}/${${result}_private_include_dir}") set("${result}_build_interface_qpa_include_dir" "${repo_build_interface_include_dir}/${${result}_qpa_include_dir}") + set("${result}_build_interface_rhi_include_dir" + "${repo_build_interface_include_dir}/${${result}_rhi_include_dir}") # Module install interface directories set(repo_install_interface_include_dir "${INSTALL_INCLUDEDIR}") @@ -1006,6 +1027,8 @@ the different base name for the module info variables.") "${repo_install_interface_include_dir}/${${result}_private_include_dir}") set("${result}_install_interface_qpa_include_dir" "${repo_install_interface_include_dir}/${${result}_qpa_include_dir}") + set("${result}_install_interface_rhi_include_dir" + "${repo_install_interface_include_dir}/${${result}_rhi_include_dir}") set("${result}" "${module}" PARENT_SCOPE) set("${result}_versioned" "${module_versioned}" PARENT_SCOPE) @@ -1019,6 +1042,7 @@ the different base name for the module info variables.") "${${result}_versioned_inner_include_dir}" PARENT_SCOPE) set("${result}_private_include_dir" "${${result}_private_include_dir}" PARENT_SCOPE) set("${result}_qpa_include_dir" "${${result}_qpa_include_dir}" PARENT_SCOPE) + set("${result}_rhi_include_dir" "${${result}_rhi_include_dir}" PARENT_SCOPE) set("${result}_interface_name" "${module_interface_name}" PARENT_SCOPE) # Setting module build interface directories in parent scope @@ -1033,6 +1057,8 @@ the different base name for the module info variables.") "${${result}_build_interface_private_include_dir}" PARENT_SCOPE) set("${result}_build_interface_qpa_include_dir" "${${result}_build_interface_qpa_include_dir}" PARENT_SCOPE) + set("${result}_build_interface_rhi_include_dir" + "${${result}_build_interface_rhi_include_dir}" PARENT_SCOPE) # Setting module install interface directories in parent scope set(repo_install_interface_include_dir "${repo_install_interface_include_dir}" PARENT_SCOPE) @@ -1046,6 +1072,8 @@ the different base name for the module info variables.") "${${result}_install_interface_private_include_dir}" PARENT_SCOPE) set("${result}_install_interface_qpa_include_dir" "${${result}_install_interface_qpa_include_dir}" PARENT_SCOPE) + set("${result}_install_interface_rhi_include_dir" + "${${result}_install_interface_rhi_include_dir}" PARENT_SCOPE) endfunction() function(qt_internal_list_to_json_array out_var list_var) @@ -1153,7 +1181,7 @@ endfunction() function(qt_internal_install_module_headers target) set(options) set(one_value_args) - set(multi_value_args PUBLIC PRIVATE QPA) + set(multi_value_args PUBLIC PRIVATE QPA RHI) cmake_parse_arguments(arg "${options}" "${one_value_args}" "${multi_value_args}" ${ARGN}) qt_internal_module_info(module ${target}) @@ -1178,6 +1206,7 @@ function(qt_internal_install_module_headers target) PUBLIC ${arg_PUBLIC} PRIVATE ${arg_PRIVATE} QPA ${arg_QPA} + RHI ${arg_RHI} ) else() if(arg_PUBLIC) @@ -1191,6 +1220,9 @@ function(qt_internal_install_module_headers target) if(arg_QPA) qt_install(FILES ${arg_QPA} DESTINATION "${module_install_interface_qpa_include_dir}") endif() + if(arg_RHI) + qt_install(FILES ${arg_RHI} DESTINATION "${module_install_interface_rhi_include_dir}") + endif() endif() endfunction() @@ -1198,6 +1230,7 @@ function(qt_internal_collect_module_headers out_var target) set(${out_var}_public "") set(${out_var}_private "") set(${out_var}_qpa "") + set(${out_var}_rhi "") set(${out_var}_all "") qt_internal_get_target_sources(sources ${target}) @@ -1215,6 +1248,7 @@ function(qt_internal_collect_module_headers out_var target) get_target_property(public_filter ${target} _qt_module_public_headers_filter_regex) get_target_property(private_filter ${target} _qt_module_private_headers_filter_regex) get_target_property(qpa_filter ${target} _qt_module_qpa_headers_filter_regex) + get_target_property(rhi_filter ${target} _qt_module_rhi_headers_filter_regex) set(condition_independent_headers_warning "") foreach(file_path IN LISTS sources) @@ -1259,6 +1293,8 @@ function(qt_internal_collect_module_headers out_var target) list(APPEND ${out_var}_all "${file_path}") if(qpa_filter AND file_name MATCHES "${qpa_filter}") list(APPEND ${out_var}_qpa "${file_path}") + elseif(rhi_filter AND file_name MATCHES "${rhi_filter}") + list(APPEND ${out_var}_rhi "${file_path}") elseif(private_filter AND file_name MATCHES "${private_filter}") list(APPEND ${out_var}_private "${file_path}") elseif((NOT public_filter OR file_name MATCHES "${public_filter}") @@ -1282,7 +1318,7 @@ function(qt_internal_collect_module_headers out_var target) endif() - set(header_types public private qpa) + set(header_types public private qpa rhi) set(has_header_types_properties "") foreach(header_type IN LISTS header_types) get_target_property(current_propety_value ${target} _qt_module_has_${header_type}_headers) @@ -1304,5 +1340,6 @@ function(qt_internal_collect_module_headers out_var target) _qt_module_has_public_headers _qt_module_has_private_headers _qt_module_has_qpa_headers + _qt_module_has_rhi_headers ) endfunction() |