diff options
author | Michal Klocek <michal.klocek@qt.io> | 2022-08-26 12:38:44 +0200 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2022-09-12 17:50:12 +0000 |
commit | b4586e0c050653359d992d14f9b7a3c9f546c0a1 (patch) | |
tree | 3a19ac52e30a325854478245622fccd76d64f9bf | |
parent | 3a7646f02a5a1b6220a675128c52a675cc856977 (diff) |
Do not make extra copy of public headers for external headers modulev6.4.0-rc1
Cmake install(TARGET) copies public and private headers even
if DESTINATION is unset, therefore add workaround and remove
public headers before the install call.
Note the reason we do not need this copy is that we install those
headers with install(DIRECTORY) to keep the directory structure as it
is required for example by freefont.
Fixes: QTBUG-104856
Change-Id: I494935d01163cee4f2f19b95aec97f5fd7a12f84
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
(cherry picked from commit 40e844918a64f1c9aa3c8293158f15755bcab5fd)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
-rw-r--r-- | cmake/QtModuleHelpers.cmake | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/cmake/QtModuleHelpers.cmake b/cmake/QtModuleHelpers.cmake index 81c088fe23..a7315550e2 100644 --- a/cmake/QtModuleHelpers.cmake +++ b/cmake/QtModuleHelpers.cmake @@ -748,9 +748,8 @@ set(QT_LIBINFIX \"${QT_LIBINFIX}\")") qt_install(DIRECTORY "${arg_EXTERNAL_HEADERS_DIR}/" DESTINATION "${module_install_interface_include_dir}" ) - unset(public_header_destination) - else() - set(public_header_destination PUBLIC_HEADER DESTINATION "${module_install_interface_include_dir}") + get_target_property(public_header_backup ${target} PUBLIC_HEADER) + set_property(TARGET ${target} PROPERTY PUBLIC_HEADER "") endif() qt_install(TARGETS ${exported_targets} @@ -760,8 +759,12 @@ set(QT_LIBINFIX \"${QT_LIBINFIX}\")") ARCHIVE DESTINATION ${INSTALL_LIBDIR} FRAMEWORK DESTINATION ${INSTALL_LIBDIR} PRIVATE_HEADER DESTINATION "${module_install_interface_private_include_dir}" - ${public_header_destination} - ) + PUBLIC_HEADER DESTINATION "${module_install_interface_include_dir}" + ) + if(arg_EXTERNAL_HEADERS_DIR) + set_property(TARGET ${target} PROPERTY PUBLIC_HEADER ${public_header_backup}) + unset(public_header_backup) + endif() if(BUILD_SHARED_LIBS) qt_apply_rpaths(TARGET "${target}" INSTALL_PATH "${INSTALL_LIBDIR}" RELATIVE_RPATH) |