summaryrefslogtreecommitdiffstats
path: root/cmake
diff options
context:
space:
mode:
authorLi Xinwei <1326710505@qq.com>2022-04-30 23:38:02 +0800
committerLi Xinwei <1326710505@qq.com>2022-05-20 17:41:20 +0800
commit9539c8a7f842a6789157ac49dc230a01f4a76d94 (patch)
treefd48f78e9c96305672608cb060484e302b6ea1b9 /cmake
parentefc02f9cc301f98c77079adae026ffd07f50d5ab (diff)
CMake: set correct COMPILE_PDB_NAME for static libraries
Output names of static libraries might be different from target names. For example, the library name of Qt6::DeviceDiscoverySupportPrivate is "Qt6DeviceDiscoverySupport.lib", and the library name of Qt6::QTlsBackendCertOnlyPlugin is "qcertonlybackend.lib". This commit make pdb files names consistent with the library names. And make sure we have set correct OUTPUT_NAME property before calling qt_set_common_target_properties()/qt_internal_set_compile_pdb_names(). Change-Id: Idb3cacd7a46a4f298fd584b927b5d726956faea8 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Diffstat (limited to 'cmake')
-rw-r--r--cmake/Qt3rdPartyLibraryHelpers.cmake8
-rw-r--r--cmake/QtModuleHelpers.cmake3
-rw-r--r--cmake/QtPluginHelpers.cmake2
-rw-r--r--cmake/QtTargetHelpers.cmake18
4 files changed, 19 insertions, 12 deletions
diff --git a/cmake/Qt3rdPartyLibraryHelpers.cmake b/cmake/Qt3rdPartyLibraryHelpers.cmake
index d562024ca3..1db4683c69 100644
--- a/cmake/Qt3rdPartyLibraryHelpers.cmake
+++ b/cmake/Qt3rdPartyLibraryHelpers.cmake
@@ -162,10 +162,6 @@ function(qt_internal_add_3rdparty_library target)
qt_internal_add_common_qt_library_helper(${target} ${library_helper_args})
- if(NOT arg_INTERFACE)
- qt_set_common_target_properties(${target})
- endif()
-
set_target_properties(${target} PROPERTIES
_qt_module_interface_name "${target}"
)
@@ -195,6 +191,10 @@ function(qt_internal_add_3rdparty_library target)
OUTPUT_NAME "${INSTALL_CMAKE_NAMESPACE}${target}"
)
+ if(NOT arg_INTERFACE)
+ qt_set_common_target_properties(${target})
+ endif()
+
if(NOT arg_SKIP_AUTOMOC)
qt_autogen_tools_initial_setup(${target})
endif()
diff --git a/cmake/QtModuleHelpers.cmake b/cmake/QtModuleHelpers.cmake
index 6821d1e19d..0d17d0b362 100644
--- a/cmake/QtModuleHelpers.cmake
+++ b/cmake/QtModuleHelpers.cmake
@@ -177,7 +177,6 @@ function(qt_internal_add_module target)
set(property_prefix "INTERFACE_")
if(NOT arg_HEADER_MODULE)
- qt_set_common_target_properties(${target})
set(property_prefix "")
endif()
@@ -293,6 +292,8 @@ function(qt_internal_add_module target)
)
endif()
+ qt_set_common_target_properties(${target})
+
if (WIN32 AND BUILD_SHARED_LIBS)
_qt_internal_generate_win32_rc_file(${target})
endif()
diff --git a/cmake/QtPluginHelpers.cmake b/cmake/QtPluginHelpers.cmake
index 49fbe0eed2..03ff7de1c9 100644
--- a/cmake/QtPluginHelpers.cmake
+++ b/cmake/QtPluginHelpers.cmake
@@ -117,7 +117,6 @@ function(qt_internal_add_plugin target)
endif()
endif()
- qt_set_common_target_properties(${target})
qt_set_target_info_properties(${target} ${ARGN} TARGET_VERSION "${arg_VERSION}")
# Override the OUTPUT_NAME that qt6_add_plugin() set, we need to account for
@@ -139,6 +138,7 @@ function(qt_internal_add_plugin target)
endif()
endif()
+ qt_set_common_target_properties("${target}")
qt_internal_add_target_aliases("${target}")
qt_skip_warnings_are_errors_when_repo_unclean("${target}")
_qt_internal_apply_strict_cpp("${target}")
diff --git a/cmake/QtTargetHelpers.cmake b/cmake/QtTargetHelpers.cmake
index 9640287ea9..b425d1bfa2 100644
--- a/cmake/QtTargetHelpers.cmake
+++ b/cmake/QtTargetHelpers.cmake
@@ -650,8 +650,12 @@ function(qt_internal_set_compile_pdb_names target)
if(MSVC)
get_target_property(target_type ${target} TYPE)
if(target_type STREQUAL "STATIC_LIBRARY" OR target_type STREQUAL "OBJECT_LIBRARY")
- set_target_properties(${target} PROPERTIES COMPILE_PDB_NAME "${INSTALL_CMAKE_NAMESPACE}${target}")
- set_target_properties(${target} PROPERTIES COMPILE_PDB_NAME_DEBUG "${INSTALL_CMAKE_NAMESPACE}${target}d")
+ get_target_property(output_name ${target} OUTPUT_NAME)
+ if(NOT output_name)
+ set(output_name "${INSTALL_CMAKE_NAMESPACE}${target}")
+ endif()
+ set_target_properties(${target} PROPERTIES COMPILE_PDB_NAME "${output_name}")
+ set_target_properties(${target} PROPERTIES COMPILE_PDB_NAME_DEBUG "${output_name}d")
endif()
endif()
endfunction()
@@ -712,8 +716,9 @@ function(qt_internal_install_pdb_files target install_dir_path)
"Can't install pdb file for static library ${target}. "
"The ARCHIVE_OUTPUT_DIRECTORY path is not known.")
endif()
- set(pdb_name "${INSTALL_CMAKE_NAMESPACE}${target}$<$<CONFIG:Debug>:d>.pdb")
- qt_path_join(compile_time_pdb_file_path "${lib_dir}" "${pdb_name}")
+ get_target_property(pdb_name "${target}" COMPILE_PDB_NAME)
+ qt_path_join(compile_time_pdb_file_path
+ "${lib_dir}" "${pdb_name}$<$<CONFIG:Debug>:d>.pdb")
qt_install(FILES "${compile_time_pdb_file_path}"
DESTINATION "${install_dir_path}" OPTIONAL)
@@ -725,8 +730,9 @@ function(qt_internal_install_pdb_files target install_dir_path)
qt_path_join(pdb_dir "${pdb_dir}" "$<CONFIG>")
endif()
endif()
- set(pdb_name "${INSTALL_CMAKE_NAMESPACE}${target}$<$<CONFIG:Debug>:d>.pdb")
- qt_path_join(compile_time_pdb_file_path "${pdb_dir}" "${pdb_name}")
+ get_target_property(pdb_name "${target}" COMPILE_PDB_NAME)
+ qt_path_join(compile_time_pdb_file_path
+ "${pdb_dir}" "${pdb_name}$<$<CONFIG:Debug>:d>.pdb")
qt_install(FILES "${compile_time_pdb_file_path}"
DESTINATION "${install_dir_path}" OPTIONAL)