Sie haben es rückwärts. Der Aufruf find_package
soll den Speicherort der gtest-Bibliothek für Sie finden. Sie müssen die Include- und Bibliothekspfade nicht mehr manuell angeben:
Werfen Sie einen Blick auf das FindGTest.cmake
in Ihrem CMake Modulverzeichnis für Details.
Das Problem, warum Sie die Fehlermeldung erhalten haben, ist, dass find_package(GTest REQUIRED)
gtest auf Ihrem System nicht finden kann. Mit dem Parameter REQUIRED
haben Sie CMake aufgefordert, sofort fehlzuschlagen, wenn die Bibliothek nicht gefunden werden kann (was hier eigentlich richtig ist).
Sie müssen also FindGTest
angeben, um Ihre Bibliothek zu finden. Leider gibt es dafür keine Standardmethode, da die Informationen zum Auffinden einer Bibliothek von Bibliothek zu Bibliothek variieren. Sie müssen also die Quelle des Suchskripts überprüfen.
Dies wird Ihnen sagen, dass FindGTest
auf die Umgebungsvariable GTEST_ROOT
angewiesen ist, um die Bibliothek zu finden. Setze diese Umgebungsvariable auf den Pfad deiner gtest Installation, führe CMake erneut aus und du solltest in Ordnung sein.
Wenn das Layout Ihrer Installation von dem von FindGTest
erwarteten Layout abweicht, müssen Sie möglicherweise stattdessen ein eigenes Suchskript schreiben. Die mit CMake gelieferten Suchskripte sind normalerweise ziemlich gut, aber manchmal funktionieren sie auf bestimmten Plattformen nicht ohne weiteres. Wenn Sie einen Patch finden, der Unterstützung für Ihre Plattform bietet, ist es normalerweise kein Problem, ihn in die offizielle CMake-Distribution zu integrieren.
Beachten Sie, dass, wenn Sie beabsichtigen, gtest selbst zu erstellen (anstatt die von Ihrem Betriebssystem bereitgestellten Binärdateien zu verwenden), die Verwendung des Suchskripts von vornherein nicht die beste Idee ist. Sie sollten stattdessen ein importiertes Ziel verwenden.
Tags und Links cmake