【问题标题】:Add DebugInfo to a Single File Using CMake使用 CMake 将 DebugInfo 添加到单个文件
【发布时间】:2017-02-24 14:37:15
【问题描述】:

我想调试 LLVM 源代码中的单个文件。因为使用调试信息构建整个项目会浪费大量空间。 LLVM 使用 CMake 作为其构建系统。如何将 debuginfo 添加到单个文件中?

【问题讨论】:

标签: compilation cmake llvm debug-information


【解决方案1】:

这是“在单个文件上设置调试信息标志”的跨平台版本:

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 通常还会在激活调试信息的同时降低优化级别。

参考

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-10-27
    • 2014-07-12
    • 1970-01-01
    • 1970-01-01
    • 2014-11-15
    • 1970-01-01
    • 1970-01-01
    • 2012-09-06
    相关资源
    最近更新 更多