From 06e9da856cae36eca2ab8c86390bba6fe620c37e Mon Sep 17 00:00:00 2001 From: Joerg Bornemann Date: Tue, 2 Jan 2024 21:11:59 +0100 Subject: [PATCH] CMake: Fix user_facing_tool_links.txt for Apple platforms MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit User-facing apps that are app bundles on macOS weren't linked correctly. For example, for Qt Designer we're creating now an entry like the following: .../Designer.app/Contents/MacOS/Designer /usr/bin/designer6 Pick-to: 6.6 Fixes: QTBUG-120487 Change-Id: I3eada15c4c5bf31b9b08829333d3c87f76ede7a2 Reviewed-by: Alexey Edelev Reviewed-by: Kai Köhne (cherry picked from commit 2921a70e5d8de5bf3f4b56b90347983aa9b1342b) Reviewed-by: Qt Cherry-pick Bot --- cmake/QtPostProcessHelpers.cmake | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/cmake/QtPostProcessHelpers.cmake b/cmake/QtPostProcessHelpers.cmake index 531016aba2b..b9a8d0d8896 100644 --- a/cmake/QtPostProcessHelpers.cmake +++ b/cmake/QtPostProcessHelpers.cmake @@ -842,8 +842,15 @@ function(qt_internal_generate_user_facing_tools_info) if(NOT filename) set(filename ${target}) endif() + set(linkname ${filename}) + if(APPLE) + get_target_property(is_macos_bundle ${target} MACOSX_BUNDLE ) + if(is_macos_bundle) + set(filename "${filename}.app/Contents/MacOS/${filename}") + endif() + endif() qt_path_join(tool_target_path "${CMAKE_INSTALL_PREFIX}" "${INSTALL_BINDIR}" "${filename}") - qt_path_join(tool_link_path "${INSTALL_PUBLICBINDIR}" "${filename}${PROJECT_VERSION_MAJOR}") + qt_path_join(tool_link_path "${INSTALL_PUBLICBINDIR}" "${linkname}${PROJECT_VERSION_MAJOR}") list(APPEND lines "${tool_target_path} ${tool_link_path}") endforeach() string(REPLACE ";" "\n" content "${lines}")