2016-03-22 7 views

risposta

6

Oltre alla ricerca in CMakeCache.txt si poteva - nella directory di compilazione - utilizzare

cmake -L . | grep CMAKE_BUILD_TYPE 
... 
CMAKE_BUILD_TYPE:STRING=Release 

Oppure si potrebbe per esempio aggiungere una destinazione personalizzata per il vostro CMakeLists.txt per farlo

add_custom_target(print_build_type COMMAND ${CMAKE_COMMAND} -E echo ${CMAKE_BUILD_TYPE}) 

sarà poi chiamato con qualcosa come

$ make --silent print_build_type 
Release 

Ma CMAKE_BUILD_TYPE potrebbe essere vuota.

ecco una versione più generico utilizzando generator expressions:

add_custom_target(
    print_build_type 
    COMMAND ${CMAKE_COMMAND} -E echo $<$<CONFIG:>:Undefined>$<$<NOT:$<CONFIG:>>:$<CONFIG>> 
) 

Riferimenti

1

È possibile annullare il valore dal file CMakeCache.txt nella directory di generazione. Solo per curiosità, cosa stai cercando di fare?

+0

sto lavorando da una directory CMake e Io w per essere in grado di determinare se sono in debug o release. – jterm

Problemi correlati