From ab58268fdaf59431f5f3cb0cfa451d7a6fa6e1ef Mon Sep 17 00:00:00 2001 From: Stefan Granitz Date: Thu, 18 Apr 2019 16:37:07 +0000 Subject: [PATCH] [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 --- llvm/cmake/modules/AddLLVM.cmake | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/llvm/cmake/modules/AddLLVM.cmake b/llvm/cmake/modules/AddLLVM.cmake index 41e2635..4287489 100644 --- a/llvm/cmake/modules/AddLLVM.cmake +++ b/llvm/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") -- 2.7.4