summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichal Klocek <michal.klocek@qt.io>2022-08-26 12:38:44 +0200
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2022-09-12 17:50:12 +0000
commitb4586e0c050653359d992d14f9b7a3c9f546c0a1 (patch)
tree3a19ac52e30a325854478245622fccd76d64f9bf
parent3a7646f02a5a1b6220a675128c52a675cc856977 (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.cmake13
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)