Details
-
Bug
-
Resolution: Unresolved
-
P3: Somewhat important
-
None
-
6.7
-
None
-
566b726b8 (dev), cac3d3198 (6.7)
Description
Trying to configure qtmultimedia with manual tests ON in-tree, and a tests/manual/CMakeLists.txt that has:
add_subdirectory(audiodecoder)
shows:
$ qt-configure-module ~/dev/qtmultimedia -- -DQT_BUILD_MANUAL_TESTS=ON -DQT_BUILD_TESTS=ON CMake Error at /Users/alex/Dev/qt/builds/dev-mac-super-mult/qtbase/lib/cmake/Qt6Core/Qt6CoreMacros.cmake:1941 (get_target_property): get_target_property() called with non-existent target "Qt6::MockMultimediaPlugin_init". Call Stack (most recent call first): /Users/alex/Dev/qt/worktrees/dev/qtbase/cmake/QtPublicPluginHelpers.cmake:211 (__qt_internal_propagate_object_library) /Users/alex/Dev/qt/worktrees/dev/qtbase/cmake/QtPublicPluginHelpers.cmake:555 (__qt_internal_add_static_plugin_import_macro) /Users/alex/Dev/qt/builds/dev-mac-super-mult/qtbase/lib/cmake/Qt6Multimedia/Qt6MultimediaPlugins.cmake:10 (__qt_internal_include_plugin_packages) /Users/alex/Dev/qt/builds/dev-mac-super-mult/qtbase/lib/cmake/Qt6Multimedia/Qt6MultimediaConfig.cmake:135 (include) /Users/alex/Dev/qt/builds/dev-mac-super-mult/qtbase/lib/cmake/Qt6/Qt6Config.cmake:164 (find_package) tests/manual/audiodecoder/CMakeLists.txt:16 (find_package)
This happens after https://codereview.qt-project.org/c/qt/qtmultimedia/+/538625
The immediate problem is that the Qt6::MockMultimediaPlugin_init alias target is not created.
Try to fix that by applying this diff in qtbase ends up with a bigger problem:
diff --git a/cmake/QtPluginHelpers.cmake b/cmake/QtPluginHelpers.cmake index bc0f651b99..1135ff918a 100644 --- a/cmake/QtPluginHelpers.cmake +++ b/cmake/QtPluginHelpers.cmake @@ -393,6 +393,7 @@ function(qt_internal_add_plugin target) get_target_property(target_type "${target}" TYPE) if(target_type STREQUAL STATIC_LIBRARY) if(qt_module_target) + qt_internal_add_target_aliases("${plugin_init_target}") qt_internal_link_internal_platform_for_object_library("${plugin_init_target}") endif() endif()
CMake Error at /Users/alex/Dev/qt/builds/dev-mac-super-mult/qtbase/lib/cmake/Qt6Core/Qt6CoreMacros.cmake:1943 (target_link_libraries): target_link_libraries can not be used on an ALIAS target. Call Stack (most recent call first): /Users/alex/Dev/qt/worktrees/dev/qtbase/cmake/QtPublicPluginHelpers.cmake:211 (__qt_internal_propagate_object_library) /Users/alex/Dev/qt/worktrees/dev/qtbase/cmake/QtPublicPluginHelpers.cmake:555 (__qt_internal_add_static_plugin_import_macro) /Users/alex/Dev/qt/builds/dev-mac-super-mult/qtbase/lib/cmake/Qt6Multimedia/Qt6MultimediaPlugins.cmake:10 (__qt_internal_include_plugin_packages) /Users/alex/Dev/qt/builds/dev-mac-super-mult/qtbase/lib/cmake/Qt6Multimedia/Qt6MultimediaConfig.cmake:135 (include) /Users/alex/Dev/qt/builds/dev-mac-super-mult/qtbase/lib/cmake/Qt6/Qt6Config.cmake:164 (find_package) tests/manual/audiodecoder/CMakeLists.txt:16 (find_package) CMake Error at /Users/alex/Dev/qt/builds/dev-mac-super-mult/qtbase/lib/cmake/Qt6Core/Qt6CoreMacros.cmake:2816 (set_property): set_property can not be used on an ALIAS target. Call Stack (most recent call first): /Users/alex/Dev/qt/builds/dev-mac-super-mult/qtbase/lib/cmake/Qt6Core/Qt6CoreMacros.cmake:1944 (_qt_internal_copy_dependency_properties) /Users/alex/Dev/qt/worktrees/dev/qtbase/cmake/QtPublicPluginHelpers.cmake:211 (__qt_internal_propagate_object_library) /Users/alex/Dev/qt/worktrees/dev/qtbase/cmake/QtPublicPluginHelpers.cmake:555 (__qt_internal_add_static_plugin_import_macro) /Users/alex/Dev/qt/builds/dev-mac-super-mult/qtbase/lib/cmake/Qt6Multimedia/Qt6MultimediaPlugins.cmake:10 (__qt_internal_include_plugin_packages) /Users/alex/Dev/qt/builds/dev-mac-super-mult/qtbase/lib/cmake/Qt6Multimedia/Qt6MultimediaConfig.cmake:135 (include) /Users/alex/Dev/qt/builds/dev-mac-super-mult/qtbase/lib/cmake/Qt6/Qt6Config.cmake:164 (find_package) tests/manual/audiodecoder/CMakeLists.txt:16 (find_package) CMake Error at /Users/alex/Dev/qt/builds/dev-mac-super-mult/qtbase/lib/cmake/Qt6Core/Qt6CoreMacros.cmake:2816 (set_property): set_property can not be used on an ALIAS target. Call Stack (most recent call first): /Users/alex/Dev/qt/builds/dev-mac-super-mult/qtbase/lib/cmake/Qt6Core/Qt6CoreMacros.cmake:1944 (_qt_internal_copy_dependency_properties) /Users/alex/Dev/qt/worktrees/dev/qtbase/cmake/QtPublicPluginHelpers.cmake:211 (__qt_internal_propagate_object_library) /Users/alex/Dev/qt/worktrees/dev/qtbase/cmake/QtPublicPluginHelpers.cmake:555 (__qt_internal_add_static_plugin_import_macro) /Users/alex/Dev/qt/builds/dev-mac-super-mult/qtbase/lib/cmake/Qt6Multimedia/Qt6MultimediaPlugins.cmake:10 (__qt_internal_include_plugin_packages) /Users/alex/Dev/qt/builds/dev-mac-super-mult/qtbase/lib/cmake/Qt6Multimedia/Qt6MultimediaConfig.cmake:135 (include) /Users/alex/Dev/qt/builds/dev-mac-super-mult/qtbase/lib/cmake/Qt6/Qt6Config.cmake:164 (find_package) tests/manual/audiodecoder/CMakeLists.txt:16 (find_package) CMake Error at /Users/alex/Dev/qt/builds/dev-mac-super-mult/qtbase/lib/cmake/Qt6Core/Qt6CoreMacros.cmake:2816 (set_property): set_property can not be used on an ALIAS target. Call Stack (most recent call first): /Users/alex/Dev/qt/builds/dev-mac-super-mult/qtbase/lib/cmake/Qt6Core/Qt6CoreMacros.cmake:1944 (_qt_internal_copy_dependency_properties) /Users/alex/Dev/qt/worktrees/dev/qtbase/cmake/QtPublicPluginHelpers.cmake:211 (__qt_internal_propagate_object_library) /Users/alex/Dev/qt/worktrees/dev/qtbase/cmake/QtPublicPluginHelpers.cmake:555 (__qt_internal_add_static_plugin_import_macro) /Users/alex/Dev/qt/builds/dev-mac-super-mult/qtbase/lib/cmake/Qt6Multimedia/Qt6MultimediaPlugins.cmake:10 (__qt_internal_include_plugin_packages) /Users/alex/Dev/qt/builds/dev-mac-super-mult/qtbase/lib/cmake/Qt6Multimedia/Qt6MultimediaConfig.cmake:135 (include) /Users/alex/Dev/qt/builds/dev-mac-super-mult/qtbase/lib/cmake/Qt6/Qt6Config.cmake:164 (find_package) tests/manual/audiodecoder/CMakeLists.txt:16 (find_package) CMake Error at /Users/alex/Dev/qt/builds/dev-mac-super-mult/qtbase/lib/cmake/Qt6Core/Qt6CoreMacros.cmake:2816 (set_property): set_property can not be used on an ALIAS target. Call Stack (most recent call first): /Users/alex/Dev/qt/builds/dev-mac-super-mult/qtbase/lib/cmake/Qt6Core/Qt6CoreMacros.cmake:1944 (_qt_internal_copy_dependency_properties) /Users/alex/Dev/qt/worktrees/dev/qtbase/cmake/QtPublicPluginHelpers.cmake:211 (__qt_internal_propagate_object_library) /Users/alex/Dev/qt/worktrees/dev/qtbase/cmake/QtPublicPluginHelpers.cmake:555 (__qt_internal_add_static_plugin_import_macro) /Users/alex/Dev/qt/builds/dev-mac-super-mult/qtbase/lib/cmake/Qt6Multimedia/Qt6MultimediaPlugins.cmake:10 (__qt_internal_include_plugin_packages) /Users/alex/Dev/qt/builds/dev-mac-super-mult/qtbase/lib/cmake/Qt6Multimedia/Qt6MultimediaConfig.cmake:135 (include) /Users/alex/Dev/qt/builds/dev-mac-super-mult/qtbase/lib/cmake/Qt6/Qt6Config.cmake:164 (find_package) tests/manual/audiodecoder/CMakeLists.txt:16 (find_package) CMake Error at /Users/alex/Dev/qt/builds/dev-mac-super-mult/qtbase/lib/cmake/Qt6Core/Qt6CoreMacros.cmake:2816 (set_property): set_property can not be used on an ALIAS target. Call Stack (most recent call first): /Users/alex/Dev/qt/builds/dev-mac-super-mult/qtbase/lib/cmake/Qt6Core/Qt6CoreMacros.cmake:1944 (_qt_internal_copy_dependency_properties) /Users/alex/Dev/qt/worktrees/dev/qtbase/cmake/QtPublicPluginHelpers.cmake:211 (__qt_internal_propagate_object_library) /Users/alex/Dev/qt/worktrees/dev/qtbase/cmake/QtPublicPluginHelpers.cmake:555 (__qt_internal_add_static_plugin_import_macro) /Users/alex/Dev/qt/builds/dev-mac-super-mult/qtbase/lib/cmake/Qt6Multimedia/Qt6MultimediaPlugins.cmake:10 (__qt_internal_include_plugin_packages) /Users/alex/Dev/qt/builds/dev-mac-super-mult/qtbase/lib/cmake/Qt6Multimedia/Qt6MultimediaConfig.cmake:135 (include) /Users/alex/Dev/qt/builds/dev-mac-super-mult/qtbase/lib/cmake/Qt6/Qt6Config.cmake:164 (find_package) tests/manual/audiodecoder/CMakeLists.txt:16 (find_package) CMake Error at /Users/alex/Dev/qt/builds/dev-mac-super-mult/qtbase/lib/cmake/Qt6Core/Qt6CoreMacros.cmake:1958 (set_property): set_property can not be used on an ALIAS target. Call Stack (most recent call first): /Users/alex/Dev/qt/worktrees/dev/qtbase/cmake/QtPublicPluginHelpers.cmake:211 (__qt_internal_propagate_object_library) /Users/alex/Dev/qt/worktrees/dev/qtbase/cmake/QtPublicPluginHelpers.cmake:555 (__qt_internal_add_static_plugin_import_macro) /Users/alex/Dev/qt/builds/dev-mac-super-mult/qtbase/lib/cmake/Qt6Multimedia/Qt6MultimediaPlugins.cmake:10 (__qt_internal_include_plugin_packages) /Users/alex/Dev/qt/builds/dev-mac-super-mult/qtbase/lib/cmake/Qt6Multimedia/Qt6MultimediaConfig.cmake:135 (include) /Users/alex/Dev/qt/builds/dev-mac-super-mult/qtbase/lib/cmake/Qt6/Qt6Config.cmake:164 (find_package) tests/manual/audiodecoder/CMakeLists.txt:16 (find_package)
I don't know yet why the same does not happen for qtbase tests. Probably because QtPlugins.cmake is not loaded.
Either way this needs some build system plugin infrastructure changes to make it work.
Attachments
Issue Links
- relates to
-
QTBUG-123186 "Target "tst_qsvgdevice" links to: Qt6::QSvgIconPlugin_init but the target was not found" when building qtsvg for iOS
- Closed