Ich versuche GTest so nahtlos wie möglich mit CMake zu integrieren. Der Standardbuildtyp für meine Testprojekte lautet jedoch /MDd
und GTest standardmäßig auf /MTd
. Ich ändere GTest-Projekteigenschaften manuell, um Debug-DLL auszugeben.
Aber jedes Mal, wenn ich Änderungen an meinem CMakeLists.txt
vornehme, wird GTest standardmäßig auf /MTd
zurückgesetzt. Wie höre ich damit auf?
Wir haben das Problem gelöst, indem wir GTests eigenes Build-System umgangen und GTest als kompiliert haben CMake-Objektbibliothek von der Unity-Build-Quelldatei gtest-all.cc
:
Auf diese Weise wird GTest immer mit den gleichen Optionen kompiliert, die wir für das Projekt verwenden. Eine Test-ausführbare Datei, die GTest verwendet, kann dann wie folgt erstellt werden:
%Vor%Ich denke, eine bessere Option ist @ Frasers Antwort - in diesem Fall funktioniert cmake + gtest einfach.
Es ist erwähnenswert, dass, um die interne gtest option
Einstellung zu überschreiben, müssen Sie die Variable in den cmake-Cache:
Wenn Ted Middletons Antwort nicht funktioniert, versuchen Sie FORCE:
%Vor%Es hat für mich funktioniert
Tags und Links visual-c++ cmake googletest