summaryrefslogtreecommitdiffstats
path: root/cmake/QtFrameworkHelpers.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'cmake/QtFrameworkHelpers.cmake')
-rw-r--r--cmake/QtFrameworkHelpers.cmake13
1 files changed, 6 insertions, 7 deletions
diff --git a/cmake/QtFrameworkHelpers.cmake b/cmake/QtFrameworkHelpers.cmake
index ade4630626b..39a08f2b9c1 100644
--- a/cmake/QtFrameworkHelpers.cmake
+++ b/cmake/QtFrameworkHelpers.cmake
@@ -136,11 +136,12 @@ function(qt_copy_framework_headers target)
)
if(NOT UIKIT)
- set(create_headers_symlink_command
- "${CMAKE_COMMAND}" -E create_symlink
- "Versions/Current/Headers"
- "${output_dir}/${fw_header_dir}"
- )
+ # Create the framework's basic layout at configure time already. This is necessary, because
+ # we don't rely on the PUBLIC_HEADER property to create the QtFoo.framework/Headers symlink.
+ # See QTBUG-142119 for details.
+ file(MAKE_DIRECTORY "${output_dir}/${fw_dir}/Versions/${fw_version}/Headers")
+ file(CREATE_LINK "${fw_version}" "${output_dir}/${fw_dir}/Versions/Current" SYMBOLIC)
+ file(CREATE_LINK "Versions/Current/Headers" "${output_dir}/${fw_header_dir}" SYMBOLIC)
endif()
if(CMAKE_GENERATOR MATCHES "^Ninja")
@@ -151,7 +152,6 @@ function(qt_copy_framework_headers target)
DEPENDS ${target}_sync_headers
COMMAND ${copy_fw_sync_headers_command}
COMMAND ${copy_fw_sync_headers_marker_file_command}
- COMMAND ${create_headers_symlink_command}
VERBATIM
)
add_custom_target(${target}_copy_fw_sync_headers
@@ -160,7 +160,6 @@ function(qt_copy_framework_headers target)
add_custom_target(${target}_copy_fw_sync_headers
COMMAND ${copy_fw_sync_headers_command}
COMMAND ${copy_fw_sync_headers_marker_file_command}
- COMMAND ${create_headers_symlink_command}
DEPENDS ${target}_sync_headers
)
endif()