diff options
Diffstat (limited to 'src/assistant/qhelpgenerator/CMakeLists.txt')
-rw-r--r-- | src/assistant/qhelpgenerator/CMakeLists.txt | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/src/assistant/qhelpgenerator/CMakeLists.txt b/src/assistant/qhelpgenerator/CMakeLists.txt index cdafe99df..7e1448739 100644 --- a/src/assistant/qhelpgenerator/CMakeLists.txt +++ b/src/assistant/qhelpgenerator/CMakeLists.txt @@ -24,17 +24,27 @@ qt_internal_add_tool(${target_name} qt_internal_return_unless_building_tools() if(NOT QT_BUILD_SHARED_LIBS) + set(needed_plugins + QMinimalIntegrationPlugin + QSQLiteDriverPlugin + ) + list(TRANSFORM needed_plugins PREPEND Qt:: OUTPUT_VARIABLE needed_plugin_targets) if(QT_SUPERBUILD) # In a top-level build, qt_import_plugins() is a no-op because # __qt_internal_add_static_plugins_once() is not called. # So we need to initialize and link the plugin manually. set(out_file_path "${CMAKE_CURRENT_BINARY_DIR}/${target_name}_plugin_imports_custom.cpp") + # Create a string with the necessary Q_IMPORT_PLUGIN(...) statements. + list(TRANSFORM needed_plugins PREPEND "Q_IMPORT_PLUGIN(" OUTPUT_VARIABLE import_plugin_code) + list(TRANSFORM import_plugin_code APPEND ")") + list(JOIN import_plugin_code "\n" import_plugin_code) + file(GENERATE OUTPUT "${out_file_path}" CONTENT "// This file is auto-generated. Do not edit. #include <QtPlugin> -Q_IMPORT_PLUGIN(QMinimalIntegrationPlugin) +${import_plugin_code} ") # CMake versions earlier than 3.18.0 can't find the generated file for some reason, @@ -43,10 +53,10 @@ Q_IMPORT_PLUGIN(QMinimalIntegrationPlugin) set_source_files_properties("${out_file_path}" PROPERTIES GENERATED TRUE) target_sources(${target_name} PRIVATE "${out_file_path}") - target_link_libraries(${target_name} PRIVATE Qt::QMinimalIntegrationPlugin) + target_link_libraries(${target_name} PRIVATE ${needed_plugin_targets}) else() qt_import_plugins(${target_name} - INCLUDE Qt::QMinimalIntegrationPlugin + INCLUDE ${needed_plugin_targets} ) endif() endif() |