Hi, As far as I know this currently doesn't work, and is a variation of the following bug report: https://bugreports.qt.io/browse/QTBUG-122702
After a very quick scan, I believe the docs don't mention this limitation. The happy path for qml modules is to have the library / executable created in the same subdirectory as the call to qt_add_qml_module. If the qml module needs to be separate from the backend C++ code, i believe the suggested way is to create two libraries: one just for the C++ code, and another for the Qml code which references the types from the other library via QML_FOREIGN, as described at https://doc.qt.io/qt-6/qt-generate-foreign-qml-types.html But maybe someone from the qml team can offer better advice. > On 14. Aug 2024, at 14:04, Stefan Seefeld <ste...@seefeld.name> wrote: > > hello, > > in a large CMake / Qt project of mine, I'm building a (shared) library in > some directory `A`. > Now I want to add a QML module for that, but due to various constraints want > to do that in a subdirectory `A/qml`. > That is, I have > > A/ > ├── CMakeLists.txt > ├── qml > │ ├── CMakeLists.txt > > where `A/CMakeLists.txt` calls `addLibrary(A ...)`, and > `A/qml/CMakeLists.txt` calls `qt_add_qml_module(A ...)` > > This eventually bails with the error > > ``` > ... No rule to make target '.../A/A_qmltyperegistrations.cpp`, needed by > 'CMakeFiles/A.dir/a_qmltyperegistrations.cpp.o' > ``` > If I merge the definition of `qml_add_qml_module` in the outer CMakeLists.txt > file, everything is compiling fine. > Am I missing something ? Is this is known limitation of the build logic ? > > Thanks for any hints, > > -- > ...ich hab' noch einen Koffer in Berlin... > > _______________________________________________ > Interest mailing list > Interest@qt-project.org > https://lists.qt-project.org/listinfo/interest _______________________________________________ Interest mailing list Interest@qt-project.org https://lists.qt-project.org/listinfo/interest