sgraenitz created this revision. sgraenitz added a reviewer: beanz. Herald added subscribers: aprantl, mgorny.
When using `LLVM_EXTERNALIZE_DEBUGINFO` in LLDB, the default dSYM location for the shared library in LLDB.framework is inside the framework bundle. With `LLVM_EXTERNALIZE_DEBUGINFO_OUTPUT_DIR` we can easily fix that. I consider it a useful feature to be able to set a global output directory for external debug info (rather then having a target-specific one). Only implemented for Darwin so far. Repository: rL LLVM https://reviews.llvm.org/D55114 Files: cmake/modules/AddLLVM.cmake Index: cmake/modules/AddLLVM.cmake =================================================================== --- cmake/modules/AddLLVM.cmake +++ cmake/modules/AddLLVM.cmake @@ -1597,6 +1597,13 @@ endif() endif() + if(LLVM_EXTERNALIZE_DEBUGINFO_OUTPUT_DIR) + if(APPLE) + set(output_name "$<TARGET_FILE_NAME:${name}>.dSYM") + set(output_path "-o=${LLVM_EXTERNALIZE_DEBUGINFO_OUTPUT_DIR}/${output_name}") + endif() + endif() + if(APPLE) if(CMAKE_CXX_FLAGS MATCHES "-flto" OR CMAKE_CXX_FLAGS_${uppercase_CMAKE_BUILD_TYPE} MATCHES "-flto") @@ -1609,7 +1616,7 @@ set(CMAKE_DSYMUTIL xcrun dsymutil) endif() add_custom_command(TARGET ${name} POST_BUILD - COMMAND ${CMAKE_DSYMUTIL} $<TARGET_FILE:${name}> + COMMAND ${CMAKE_DSYMUTIL} ${output_path} $<TARGET_FILE:${name}> ${strip_command} ) else()
Index: cmake/modules/AddLLVM.cmake =================================================================== --- cmake/modules/AddLLVM.cmake +++ cmake/modules/AddLLVM.cmake @@ -1597,6 +1597,13 @@ endif() endif() + if(LLVM_EXTERNALIZE_DEBUGINFO_OUTPUT_DIR) + if(APPLE) + set(output_name "$<TARGET_FILE_NAME:${name}>.dSYM") + set(output_path "-o=${LLVM_EXTERNALIZE_DEBUGINFO_OUTPUT_DIR}/${output_name}") + endif() + endif() + if(APPLE) if(CMAKE_CXX_FLAGS MATCHES "-flto" OR CMAKE_CXX_FLAGS_${uppercase_CMAKE_BUILD_TYPE} MATCHES "-flto") @@ -1609,7 +1616,7 @@ set(CMAKE_DSYMUTIL xcrun dsymutil) endif() add_custom_command(TARGET ${name} POST_BUILD - COMMAND ${CMAKE_DSYMUTIL} $<TARGET_FILE:${name}> + COMMAND ${CMAKE_DSYMUTIL} ${output_path} $<TARGET_FILE:${name}> ${strip_command} ) else()
_______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits