summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichal Klocek <[email protected]>2022-08-26 12:38:44 +0200
committerQt Cherry-pick Bot <[email protected]>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 <[email protected]> (cherry picked from commit 40e844918a64f1c9aa3c8293158f15755bcab5fd) Reviewed-by: Qt Cherry-pick Bot <[email protected]>
-rw-r--r--cmake/QtModuleHelpers.cmake13
1 files changed, 8 insertions, 5 deletions
diff --git a/cmake/QtModuleHelpers.cmake b/cmake/QtModuleHelpers.cmake
index 81c088fe23f..a7315550e2a 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)