tb@ reported the following build error msg to me: CMake Error at /usr/local/lib/cmake/Qt6Qml/Qt6QmlPlugins.cmake:47 (include): include could not find requested file:
/usr/local/lib/cmake/Qt6Qml/QmlPlugins/Qt6qtwebenginequickdelegatespluginConfig.cmake Call Stack (most recent call first): /usr/local/lib/cmake/Qt6Qml/Qt6QmlConfig.cmake:147 (include) /usr/local/lib/cmake/Qt6/Qt6Config.cmake:190 (find_package) /usr/local/share/ECM/modules/ECMQmlModule6.cmake:9 (find_package) /usr/local/share/ECM/modules/ECMQmlModule.cmake:249 (include) CMakeLists.txt:33 (include) First of all, you can read the trace from the button upwards. It starts in line 33 in the CMakeLists.txt file: 33 include(ECMQmlModule) Of course, ECMQmlModule6 sounds like it tries to find QtQML and it does: 9 find_package(Qt6 COMPONENTS Core Qml CONFIG) Qt6QmlConfig includes Qt6QmlPlugins and the fun part begins: 36 foreach(__qt_qml_plugin_glob_prefix IN LISTS __qt_qml_plugins_glob_prefixes) 37 file(GLOB __qt_qml_plugins_glob_config_file_list 38 "${__qt_qml_plugin_glob_prefix}/QmlPlugins/Qt6*Config.cmake") 39 if(__qt_qml_plugins_glob_config_file_list) 40 list(APPEND __qt_qml_plugins_config_file_list ${__qt_qml_plugins_glob_config_file_list}) 41 endif() 42 endforeach() 43 44 if (__qt_qml_plugins_config_file_list AND NOT QT_SKIP_AUTO_QML_PLUGIN_INCLUSION) 45 # First round of inclusions ensure all qml plugin targets are brought into scope. 46 foreach(__qt_qml_plugin_config_file ${__qt_qml_plugins_config_file_list}) 47 include(${__qt_qml_plugin_config_file}) Line 40 collects all present QmlPlugins/Qt6*Config.cmake (aka present/installed Qml Plugins) in __qt_qml_plugins_config_file_list. Afterwards it tries to include the cmake config files in line 47. What tb@ saw was that Qt6qtwebenginequickdelegatespluginConfig.cmake war present during the collection loop but no longer during the include loop. My strong suspicion is that it was junked. In line 44 we can see QT_SKIP_AUTO_QML_PLUGIN_INCLUSION. Which can be interesting for us, especially if we read the comment: "Distributions should probably change this default.". After a quick search in the Linux world, we can see that OpenSuse does this. For me the best reference for Qt and Linux: https://build.opensuse.org/projects/home:simotek:cmake4/packages/qt6-base/files/0001-Change-default-settings-for-Qt-packages.patch?expand=1 Long story short, I would like to throw this diff into a bulk and if it is successful I want to commit it. Feedback welcome! Index: Makefile =================================================================== RCS file: /cvs/ports/x11/qt6/qtbase/Makefile,v diff -u -p -r1.40 Makefile --- Makefile 14 Feb 2025 07:45:14 -0000 1.40 +++ Makefile 21 Mar 2025 07:30:52 -0000 @@ -4,7 +4,7 @@ COMMENT-main = C++ general-purpose tool COMMENT-global = global Qt6 documentation internals COMMENT-mysql = MySQL plugin for Qt6 COMMENT-psql = PostgresSQL plugin for Qt6 -REVISION-main = 1 +REVISION-main = 2 PKGSPEC-main = qt6-qtbase-${QT6_PKGSPEC} Index: patches/patch-cmake_QtPlugins_cmake_in =================================================================== RCS file: patches/patch-cmake_QtPlugins_cmake_in diff -N patches/patch-cmake_QtPlugins_cmake_in --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-cmake_QtPlugins_cmake_in 21 Mar 2025 07:30:52 -0000 @@ -0,0 +1,14 @@ +Enable QT_SKIP_AUTO_PLUGIN_INCLUSION and QT_SKIP_AUTO_QML_PLUGIN_INCLUSION by +default +Index: cmake/QtPlugins.cmake.in +--- cmake/QtPlugins.cmake.in.orig ++++ cmake/QtPlugins.cmake.in +@@ -6,7 +6,7 @@ include_guard(DIRECTORY) + + # Distributions should probably change this default. + if(NOT DEFINED QT_SKIP_AUTO_PLUGIN_INCLUSION) +- set(QT_SKIP_AUTO_PLUGIN_INCLUSION OFF) ++ set(QT_SKIP_AUTO_PLUGIN_INCLUSION ON) + endif() + + if(NOT QT_NO_CREATE_TARGETS AND NOT QT_SKIP_AUTO_PLUGIN_INCLUSION) Index: patches/patch-cmake_QtPostProcessHelpers_cmake =================================================================== RCS file: patches/patch-cmake_QtPostProcessHelpers_cmake diff -N patches/patch-cmake_QtPostProcessHelpers_cmake --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-cmake_QtPostProcessHelpers_cmake 21 Mar 2025 07:30:52 -0000 @@ -0,0 +1,14 @@ +Enable QT_SKIP_AUTO_PLUGIN_INCLUSION and QT_SKIP_AUTO_QML_PLUGIN_INCLUSION by +default +Index: cmake/QtPostProcessHelpers.cmake +--- cmake/QtPostProcessHelpers.cmake.orig ++++ cmake/QtPostProcessHelpers.cmake +@@ -507,7 +507,7 @@ function(qt_internal_create_plugins_auto_inclusion_fil + + # Distributions should probably change this default. + if(NOT DEFINED QT_SKIP_AUTO_QML_PLUGIN_INCLUSION) +- set(QT_SKIP_AUTO_QML_PLUGIN_INCLUSION OFF) ++ set(QT_SKIP_AUTO_QML_PLUGIN_INCLUSION ON) + endif() + + set(__qt_qml_plugins_config_file_list \"\")