Wenn Sie FindQt3
oder FindQt4
es finden Sie Qt 3 oder 4. Mit FindQt
versucht es Qt 3 oder 4 zu finden und Sie können die DESIRED_QT_VERSION
(3 oder 4) angeben. Zur Zeit mit CMake 3.5 findet es Qt 5 nicht.
Für Qt 5 gibt es keine speziellen Suchbefehle mehr, Sie müssen nach bestimmten Teilen von Qt 5 suchen, ihre Widgets mit find_package(Qt5Widgets)
auszeichnen. Die Version wird dann in Qt5Widgets_VERSION
gespeichert.
Siehe auch Dokumentation: http://doc.qt.io/qt-5/cmake-manual.html
Warum ist das so kompliziert? In der Vergangenheit versuchte CMake, ein find * -Modul für jede unterstützte Software bereitzustellen. Die Liste der Module wuchs schnell und mit jeder neuen Version von Boost, Qt, Gtk usw. mussten die Module getestet und oft modifiziert werden. Dieses System wurde nicht skaliert.
Jetzt bevorzugt CMake Konfigurationsdateien, die von der Software von Drittanbietern selbst bereitgestellt werden. Bis Qt4 stellte CMake ein Suchmodul zur Verfügung. Ab Qt 5 stellt Qt die Konfigurationsdateien bereit.
Normalerweise überprüfen Sie mit CMake nicht, ob eine Bibliothek korrekt installiert ist. Mit Autotools waren diese Überprüfungen üblich, aber nicht mit CMake. Wahrscheinlich benötigen diese Prüfungen einige Zeit und es liegt in der Verantwortung des Benutzers, über funktionierende Bibliotheken zu verfügen.
Was ist Ihre CMake-Version? Hast du [dies gelesen] (http://doc.qt.io/qt-5/cmake-manual.html) und CMAKE_PREFIX_PATH richtig gesetzt? Kannst du es mit einem neuen grundlegendsten Projekt versuchen und kurz .cmake und sehen, ob es dann schief geht und ob es uns die Datei gibt, die du benutzt um es zu erstellen? – coyotte508