Ustaw opcje CFLAGS i CXXFLAGS za pomocą CMake
Chcę po prostu debugować jakiś kod działający na Linuksie i potrzebuję kompilacji debugowania (-O0 -ggdb
). Więc dodałem te rzeczy do mojegoCMakeLists.txt
:
<code>set(CMAKE_BUILD_TYPE DEBUG) set(CMAKE_C_FLAGS "-O0 -ggdb") set(CMAKE_C_FLAGS_DEBUG "-O0 -ggdb") set(CMAKE_C_FLAGS_RELEASE "-O0 -ggdb") set(CMAKE_CXX_FLAGS "-O0 -ggdb") set(CMAKE_CXX_FLAGS_DEBUG "-O0 -ggdb") set(CMAKE_CXX_FLAGS_RELEASE "-O0 -ggdb") </code>
Kiedy próbowałem skompilować, zwróciłem uwagę na używaniemake VERBOSE=1
I tak obserwowałem wyjście
<code>... /usr/bin/c++ -D_BSD_SOURCE **-O0 -ggdb** -Wnon-virtual-dtor -Wno-long-long -ansi -Wundef -Wcast-align -Wchar-subscripts -Wall -W -Wpointer-arith -Wformat-security -fno-exceptions -DQT_NO_EXCEPTIONS -fno-check-new -fno-common -Woverloaded-virtual -fno-threadsafe-statics -fvisibility=hidden -fvisibility-inlines-hidden **-g -O2** -fno-reorder-blocks -fno-schedule-insns -fno-inline ... </code>
Najwyraźniej kod jest kompilowany z"-g -O2"
a tego nie chcę. Jak mogę zmusić go do użycia"-O0 -ggdb"
tylko?