1
我想在LLVM的源代碼中調試單個文件。因爲用調試信息構建整個項目會浪費大量空間。 LLVM使用CMake作爲其構建系統。如何將debuginfo添加到單個文件?使用CMake將DebugInfo添加到單個文件中
我想在LLVM的源代碼中調試單個文件。因爲用調試信息構建整個項目會浪費大量空間。 LLVM使用CMake作爲其構建系統。如何將debuginfo添加到單個文件?使用CMake將DebugInfo添加到單個文件中
這裏是「對單個文件設置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也激活調試信息一起降低了優化級別。
參考
我想的[get_source_file_property]該組合(https://cmake.org/cmake/help/v3.0/command/get_source_file_property.html )和[set_source_files_properties](https://cmake.org/cmake/help/v3.0/command/set_source_files_properties.html)修補[COMPILE_FLAGS](https://cmake.org/cmake/help/v3.0/prop_sf /COMPILE_FLAGS.html)可以完成這項工作。 –