CMake Befehlszeile für C ++ #define

Brauche ich für die Erstellung verschiedener Versionen von einem bestimmten Projekt durch hinzufügen von compiler-Schaltern. In der Regel würde ich dies tun, indem Sie mit add_definitions oder so etwas wie

set_property( TARGET mylib PROPERTY COMPILE_DEFINITIONS _MYDEFINE=1 )

in der CMakeLists.txt Datei.

In diesem Projekt jedoch ich bin nicht erlaubt zu ändern und Quellen, einschließlich der CMakeLists.txt Datei.

Ich hatte gehofft, dass so etwas wie

cmake -D_MYDEFINE=1 <path to sources>

erzeugen würde, eine Projekt-Datei (Visual Studio 2008, in meinem Fall, aber sollte keine Rolle spielen), das mit _MYDEFINE=1 in den Präprozessor-Definitionen, aber in der Tat ist es nicht.

Was sind meine Optionen hier? Gibt es eine andere cmake Kommandozeilen-option um dies zu erreichen? Fühlen Sie sich frei, um Lösungen vorschlagen, die nicht mit dem Befehl Linie, so lange, wie verändert das Projekt die CMakeLists.txt ist nicht notwendig.

InformationsquelleAutor der Frage Tim Meyer | 2012-03-02

Schreibe einen Kommentar