Wiem, typ kompilacji można ustawić za pomocą -DCMAKE_BUILD_TYPE=Release
lub -DCMAKE_BUILD_TYPE=Debug
, ale czy istnieje sposób wiersza polecenia, aby sprawdzić/potwierdzić, który typ kompilacji jest używany przez CMake?Jak sprawdzić, czy typ kompilacji katalogu kompilacji CMake to Debug lub Release?
5
A
Odpowiedz
6
Poza tym patrząc w CMakeCache.txt
można - w katalogu build - użyj
cmake -L . | grep CMAKE_BUILD_TYPE
...
CMAKE_BUILD_TYPE:STRING=Release
czy mógłbyś na przykład dodać dostosowaną do swoich cel dla CMakeLists.txt
robi to
add_custom_target(print_build_type COMMAND ${CMAKE_COMMAND} -E echo ${CMAKE_BUILD_TYPE})
będzie wówczas nazywano coś jak
$ make --silent print_build_type
Release
Ale CMAKE_BUILD_TYPE
może być pusta.
Więc tutaj jest bardziej ogólna wersja użyciu generator expressions:
add_custom_target(
print_build_type
COMMAND ${CMAKE_COMMAND} -E echo $<$<CONFIG:>:Undefined>$<$<NOT:$<CONFIG:>>:$<CONFIG>>
)
Referencje
1
Możesz pobrać wartość z pliku CMakeCache.txt w katalogu kompilacji. Tylko z ciekawości, co próbujesz zrobić?
pracuję z katalogu cmake i Ja w mrówka, aby móc ustalić, czy jestem w trakcie debugowania lub wydania. – jterm