From 1c4acb1675929ef40fe7758af1b1d825f7ed10aa Mon Sep 17 00:00:00 2001 From: Alexey Edelev Date: Fri, 26 Mar 2021 15:52:43 +0100 Subject: Fix plugin SKIP_INSTALL option If SKIP_INSTALL option is specified for the qt_internal_add_plugin function the install_directory variable become empty and finalizer unable to call qt_finalize_plugin, because of lack of the second argument. It makes sense to use the INSTALL_PATH single argument instead. Change-Id: I2d4b40c8cf812a834c0e045569b45a649d339508 Reviewed-by: Alexandru Croitor (cherry picked from commit 361daa2990ddb70805d356ce5df7d8cfae8e1954) --- cmake/QtPluginHelpers.cmake | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/cmake/QtPluginHelpers.cmake b/cmake/QtPluginHelpers.cmake index b3482ee1ef..69de616335 100644 --- a/cmake/QtPluginHelpers.cmake +++ b/cmake/QtPluginHelpers.cmake @@ -292,20 +292,29 @@ function(qt_internal_add_plugin target) endif() qt_internal_add_linker_version_script(${target}) - qt_add_list_file_finalizer(qt_finalize_plugin ${target} "${install_directory}") + set(finalizer_extra_args "") + if(NOT arg_SKIP_INSTALL) + list(APPEND finalizer_extra_args INSTALL_PATH "${install_directory}") + endif() + qt_add_list_file_finalizer(qt_finalize_plugin ${target} ${finalizer_extra_args}) - qt_enable_separate_debug_info(${target} "${install_directory}") - qt_internal_install_pdb_files(${target} "${install_directory}") + if(NOT arg_SKIP_INSTALL) + qt_enable_separate_debug_info(${target} "${install_directory}") + qt_internal_install_pdb_files(${target} "${install_directory}") + endif() endfunction() -function(qt_finalize_plugin target install_directory) +function(qt_finalize_plugin target) + cmake_parse_arguments(arg "" "INSTALL_PATH" "" ${ARGN}) if(WIN32 AND BUILD_SHARED_LIBS) _qt_internal_generate_win32_rc_file("${target}") endif() # Generate .prl files for plugins of static Qt builds. if(NOT BUILD_SHARED_LIBS) - qt_generate_prl_file(${target} "${install_directory}") + if(arg_INSTALL_PATH) + qt_generate_prl_file(${target} "${arg_INSTALL_PATH}") + endif() endif() endfunction() -- cgit v1.2.3