2012-10-15 14 views
28

Ho un makefile per il mio progetto e inoltre sto passando alcuni argomenti e in base a tale argomento sto impostando qualche flag. Sono in grado di farlo. ma ora voglio fare lo stesso usando cmake. Ho creato cmakelist.txt ma non so come passare l'argomento e verificare il valore dell'argomento in cmakelist.txt.Passare l'argomento a CMAKE tramite prompt dei comandi

campione del mio makefile:

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

Qual è il modo di prendere l'argomento dal prompt dei comandi e impostare flag sulla base di tale?

risposta

46

Nel file CMakeLists.txt, creare una variabile di cache, come documentato qui:

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

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

Quindi, utilizzare la GUI (ccmake o cmake-gui) per impostare il variabili cache, o specificare il valore della variabile nella riga di comando cmake:

cmake -DFAB:STRING=po 

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

Modifica la variabile cache su un valore booleano se, in effetti, l'opzione è booleana.

Problemi correlati