2012-10-15 11 views
28

Ich habe ein Makefile für mein Projekt und auch ich bin einige Argumente übergeben und auf der Grundlage dieses Arguments ich setze einige Flag. Ich kann das machen. aber jetzt möchte ich dasselbe mit cmake machen. Ich habe cmakelist.txt erstellt, aber ich weiß nicht, wie Sie das Argument übergeben und auf den Argumentwert in cmakelist.txt überprüfen.Übergabe des Arguments an CMAKE über die Eingabeaufforderung

Probe meiner Make-Datei:

ifeq "$(FAB)" "po" 
     //setting some flags 
else 
     //setting some iother flag 
endif 

Was ist der Weg, um das Argument von Eingabeaufforderung zu nehmen und Fahnen auf dieser Grundlage eingestellt?

Antwort

46

In der CMakeLists.txt Datei, ein Cache-Variable erstellen, wie hier dokumentiert:

SET(FAB "po" CACHE STRING "Some user-specified option") 

Quelle: http://cmake.org/cmake/help/v2.8.8/cmake.html#command:set

Dann entweder die GUI (ccmake oder cmake-gui), um die Cache-Variable oder gibt den Wert der variablen auf der Befehlszeile Cmake:

cmake -DFAB:STRING=po 

Quelle:

http://cmake.org/cmake/help/v2.8.8/cmake.html#opt:-Dvar:typevalue

Ändern Sie Ihre Cache-Variable zu einem booleschen Wert, wenn Ihre Option tatsächlich boolesch ist.

Verwandte Themen