Ich habe kürzlich mein Qt
Projekt von qmake
zu CMake
portiert. Mein Hauptprogramm enthält einen Wert, der von einer #define
Direktive abhängt.Wie erstellt man ein Programm mit 2 verschiedenen Werten einer Variablen in CMake
Ich möchte angeben, dass Richtlinie extern über CMake
definieren und 3 unterschiedlich benannte Versionen der gleichen ausführbaren Datei erstellen.
Wie soll ich das machen?
Ich habe set_target_properties
gesehen, aber das funktioniert nur für Bibliotheken und nicht für ausführbare Dateien.
Zum Beispiel möchte ich, dass das folgende Programm,
int main()
{
cout << BUILDTYPE << endl;
}
es in 3 verschiedenen Geschmacksrichtungen kompiliert (3 Programme), basierend auf dem BUILDTYPE "define"
Zum Beispiel in meinem CMakeLists.txt
I
add_executable(myAppV1 -DBUILDTYPE=1)
add_executable(myAppV2 -DBUILDTYPE=2)
add_executable(myAppV3 -DBUILDTYPE=3)
angeben möchten
aber das ist nicht die richtige Syntax. Ein Tipp? und ich bekomme 3 ausführbare Dateien, die Drucke
Vielen Dank! Ich habe die set_target_properties nach dem add_executable zu bewegen und es in der zweiten Version verwenden Sie add_executable (myAppv1 main.cpp) set_target_properties (myAppV1 PROPERTIES COMPILE_DEFINITIONS "BUILDTYPE = 1") aber nicht auf diese Weise add_executable schrieb (myAppv1 main.cpp) set_target_properties (myAppV1 EIGENSCHAFTEN COMPILE_DEFINITIONS "-DBUILDTYPE = 1") – linello