When porting a Qt5 project recently to Qt6 I had a lot of problems with missing libraries even though the libraries were found, loaded and properly set to link. On investigation I found that several Qt libraries were being added to the link line in the form ‘-lQt6Widgets’ . These entries were failing at the link stage with library not found errors. It is my understanding that cmake always enters the full path to the library file to link.txt or to the equivalent ninja build file. In this case it did not. Finally after much deduction I discovered that the pkgconfig file I was calling had a RequiresL Qt6Widgets line. On checking the Qt6Widgets pkgconfig file I discovered that this called two more Qt6 libraries which accounted for the the faulty link lines. To prove that this was causing the problem I edited the requires in the first pkgconfig file and set the ‘Requires’ to Requires.private and the bad link entries went away. Obviously the Requires lin was then ignored. In conclusion I would suggest that there might be a bug in the analysis of the pgkconfig files which does not attend a library prefix to the library on the Requires line. I am using cmake-3.30 and the pkgconfig file in question comes from qtermwidget6. I do not believe that this issue is limited to th QtLibraries as cmake is departing from it’s own standard fo including the full path to the libarary file and thus if a library is not found a diagnostic eror should be flagged.