Добавить DebugInfo в один файл с помощью CMake

Я хочу отладить один файл в исходном коде LLVM. Потому что сборка всего проекта с отладочной информацией будет занимать много места. LLVM использует CMake в качестве своей системы сборки. Как я могу добавить debug info в один файл?

1 ответ

Вот кроссплатформенная версия "установки флагов debuginfo для одного файла":

cmake_minimum_required(VERSION 2.8)

project(DebugInfoForSingleFile)

separate_arguments(_flags_release UNIX_COMMAND "${CMAKE_CXX_FLAGS_RELEASE}")
separate_arguments(_flags_with_dbg_info UNIX_COMMAND "${CMAKE_CXX_FLAGS_RELWITHDEBINFO}")
list(REMOVE_ITEM _flags_with_dbg_info ${_flags_release})
string(REPLACE ";" " " _flags_with_dbg_info "${_flags_with_dbg_info}")

file(WRITE main.cpp "int main() { return 0; }")
add_executable(${PROJECT_NAME} main.cpp)

set_source_files_properties(main.cpp PROPERTIES COMPILE_FLAGS "${_flags_with_dbg_info}")

Обратите внимание, что обычно CMake также снижает уровень оптимизации вместе с активацией отладочной информации.

Ссылка

Другие вопросы по тегам