From: Stefan Granitz Date: Thu, 18 Apr 2019 16:37:07 +0000 (+0000) Subject: [CMake] Allow custom extensions for externalized debug info X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=814e8a20582884c694478eb8faa75c179cafb864;p=llvm [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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@358685 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/cmake/modules/AddLLVM.cmake b/cmake/modules/AddLLVM.cmake index 41e263586b1..4287489507f 100644 --- a/cmake/modules/AddLLVM.cmake +++ b/cmake/modules/AddLLVM.cmake @@ -1604,14 +1604,21 @@ function(llvm_externalize_debuginfo name) endif() endif() - if(LLVM_EXTERNALIZE_DEBUGINFO_OUTPUT_DIR) - if(APPLE) - set(output_name "$.dSYM") + if(APPLE) + if(LLVM_EXTERNALIZE_DEBUGINFO_EXTENSION) + set(file_ext ${LLVM_EXTERNALIZE_DEBUGINFO_EXTENSION}) + else() + set(file_ext dSYM) + endif() + + set(output_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() - endif() - if(APPLE) if(CMAKE_CXX_FLAGS MATCHES "-flto" OR CMAKE_CXX_FLAGS_${uppercase_CMAKE_BUILD_TYPE} MATCHES "-flto")