A resposta de Chip foi útil, no entanto, como a linha SET
substituiu CMAKE_CXX_FLAGS_DEBUG
, isso removeu o padrão -g
, o que fez com que meu executável fosse construído sem informações de depuração. Eu precisava fazer uma pequena modificação adicional no CMakeLists.txt no diretório de origem do projeto para obter um executável construído com informações de depuração e -O0
optimizations (na versão 2.8.12.2 do cmake).
Adicionei o seguinte ao CMakeLists.txt para adicionar -O0
e deixar -g
enabled:
# Add -O0 to remove optimizations when using gcc
IF(CMAKE_COMPILER_IS_GNUCC)
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -O0")
set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -O0")
ENDIF(CMAKE_COMPILER_IS_GNUCC)
Isso adiciona a -O0
de otimização aos sinalizadores já usados para depuração pelo CMake e somente é incluída nas compilações do GCC se você estiver usando um projeto de plataforma cruzada.