forked from OSchip/llvm-project
[CMake] Allow custom extensions for externalized debug info
Summary: Extra flexibility for emitting debug info to external files (remains Darwin only for now). LLDB needs this functionality to emit a LLDB.framework.dSYM instead of LLDB.dSYM when building the framework, because the latter could conflict with the driver's lldb.dSYM when emitted in the same directory on case-insensitive file systems. Reviewers: friss, bogner, beanz Subscribers: mgorny, aprantl, llvm-commits, #lldb Tags: #llvm Differential Revision: https://reviews.llvm.org/D60862 llvm-svn: 358685
This commit is contained in:
parent
92a7177e6b
commit
ab58268fda
|
@ -1604,14 +1604,21 @@ function(llvm_externalize_debuginfo name)
|
|||
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(LLVM_EXTERNALIZE_DEBUGINFO_EXTENSION)
|
||||
set(file_ext ${LLVM_EXTERNALIZE_DEBUGINFO_EXTENSION})
|
||||
else()
|
||||
set(file_ext dSYM)
|
||||
endif()
|
||||
|
||||
set(output_name "$<TARGET_FILE_NAME:${name}>.${file_ext}")
|
||||
|
||||
if(LLVM_EXTERNALIZE_DEBUGINFO_OUTPUT_DIR)
|
||||
set(output_path "-o=${LLVM_EXTERNALIZE_DEBUGINFO_OUTPUT_DIR}/${output_name}")
|
||||
else()
|
||||
set(output_path "-o=${output_name}")
|
||||
endif()
|
||||
|
||||
if(CMAKE_CXX_FLAGS MATCHES "-flto"
|
||||
OR CMAKE_CXX_FLAGS_${uppercase_CMAKE_BUILD_TYPE} MATCHES "-flto")
|
||||
|
||||
|
|
Loading…
Reference in New Issue