From 625fd913e593ffcee6db2555ee110e22437293aa Mon Sep 17 00:00:00 2001 From: Cristian Adam Date: Mon, 3 Feb 2020 17:43:11 +0100 Subject: [PATCH] CMake Deployment: Fix qt.conf for macOS Change-Id: Ic31709512923aa98271c50ed991cad5effbb3473 Reviewed-by: Alessandro Portale --- src/QtCreatorDeployment.cmake | 58 ++++++++++++++++++++--------------- 1 file changed, 33 insertions(+), 25 deletions(-) diff --git a/src/QtCreatorDeployment.cmake b/src/QtCreatorDeployment.cmake index 47cf3c8fa94..541898dfc5c 100644 --- a/src/QtCreatorDeployment.cmake +++ b/src/QtCreatorDeployment.cmake @@ -11,15 +11,12 @@ if (CMAKE_VERSION VERSION_GREATER_EQUAL 3.16) if (WIN32) set(qt5_plugin_dest_dir ${IDE_BIN_PATH}/plugins) set(qt5_qml_dest_dir ${IDE_BIN_PATH}/qml) - set(qt_conf_dir ${IDE_APP_PATH}) elseif(APPLE) set(qt5_plugin_dest_dir ${IDE_PLUGIN_PATH}) set(qt5_qml_dest_dir ${IDE_DATA_PATH}/../Imports/qtquick2) - set(qt_conf_dir ${IDE_DATA_PATH}) else() set(qt5_plugin_dest_dir ${IDE_LIBRARY_BASE_PATH}/Qt/plugins) set(qt5_qml_dest_dir ${IDE_LIBRARY_BASE_PATH}/Qt/qml) - set(qt_conf_dir ${IDE_APP_PATH}) endif() foreach(plugin @@ -46,29 +43,40 @@ if (CMAKE_VERSION VERSION_GREATER_EQUAL 3.16) ) install(CODE " - get_filename_component(install_prefix \"\${CMAKE_INSTALL_PREFIX}\" ABSOLUTE) - file(RELATIVE_PATH qt_conf_binaries - \"\${install_prefix}/${qt_conf_dir}\" - \"\${install_prefix}/${IDE_BIN_PATH}\" - ) - if (NOT qt_conf_binaries) - set(qt_conf_binaries .) - endif() - file(RELATIVE_PATH qt_conf_plugins - \"\${install_prefix}/${qt_conf_dir}\" - \"\${install_prefix}/${qt5_plugin_dest_dir}\" - ) - file(RELATIVE_PATH qt_conf_qml - \"\${install_prefix}/${qt_conf_dir}\" - \"\${install_prefix}/${qt5_qml_dest_dir}\" - ) + function(create_qt_conf location base_dir) + get_filename_component(install_prefix \"\${CMAKE_INSTALL_PREFIX}\" ABSOLUTE) + file(RELATIVE_PATH qt_conf_binaries + \"\${install_prefix}/\${base_dir}\" + \"\${install_prefix}/${IDE_BIN_PATH}\" + ) + if (NOT qt_conf_binaries) + set(qt_conf_binaries .) + endif() + file(RELATIVE_PATH qt_conf_plugins + \"\${install_prefix}/\${base_dir}\" + \"\${install_prefix}/${qt5_plugin_dest_dir}\" + ) + file(RELATIVE_PATH qt_conf_qml + \"\${install_prefix}/\${base_dir}\" + \"\${install_prefix}/${qt5_qml_dest_dir}\" + ) + + file(WRITE \"\${CMAKE_INSTALL_PREFIX}/\${location}/qt.conf\" + \"[Paths]\n\" + \"Binaries=\${qt_conf_binaries}\n\" + \"Plugins=\${qt_conf_plugins}\n\" + \"Qml2Imports=\${qt_conf_qml}\n\" + ) + endfunction() + + if(APPLE) + create_qt_conf(\"${IDE_DATA_PATH}\" \"${IDE_DATA_PATH}/..\") + create_qt_conf(\"${IDE_LIBEXEC_PATH}\" \"${IDE_DATA_PATH}/..\") + else() + create_qt_conf(\"${IDE_APP_PATH}\" \"${IDE_APP_PATH}\") + create_qt_conf(\"${IDE_LIBEXEC_PATH}\" \"${IDE_LIBEXEC_PATH}\") + endif() - file(WRITE \"\${CMAKE_INSTALL_PREFIX}/${qt_conf_dir}/qt.conf\" - \"[Paths]\n\" - \"Binaries=\${qt_conf_binaries}\n\" - \"Plugins=\${qt_conf_plugins}\n\" - \"Qml2Imports=\${qt_conf_qml}\n\" - ) " COMPONENT Dependencies EXCLUDE_FROM_ALL )