diff options
| author | lizzie <lizzie@eden-emu.dev> | 2026-06-03 22:53:09 +0200 |
|---|---|---|
| committer | crueter <crueter@eden-emu.dev> | 2026-06-03 22:53:09 +0200 |
| commit | f729dbb3c3fbf30f06ff7c986f1a6761e3fb598f (patch) | |
| tree | b3369f3de816f743af5b7920cf69ef4c69fbe471 /CMakeModules | |
| parent | ec2b9b04001ebea637f01273ac8e6c17b2cc8390 (diff) | |
[common] use abi::__cxa_demangle for demangling using the system's glibcxx/libc++ (#3894)
most stdlibc++ already provide this functionality out of the box, very consistently and well implemented (usually)
my main irk is that the llvm itanium demangle is totally unescesary when there is a perfectly stable, tested and well documented equivalent functionality in the standard stdc++ provided in most UNIX oses
its mostly to reduce binary size by a very thin margin, but he stdc++ is more than capable of doing he same behaviour we use a dpeendency for
for mingw or such howeger,, demangling becomies trickier so we have to exclude windows entirely because well windows likes to do things differently dont they
Signed-off-by: lizzie <lizzie@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3894
Reviewed-by: crueter <crueter@eden-emu.dev>
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Diffstat (limited to 'CMakeModules')
| -rw-r--r-- | CMakeModules/FindLLVM.cmake | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/CMakeModules/FindLLVM.cmake b/CMakeModules/FindLLVM.cmake index 8dc064d5d1..f169f134d5 100644 --- a/CMakeModules/FindLLVM.cmake +++ b/CMakeModules/FindLLVM.cmake @@ -1,3 +1,6 @@ +# SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project +# SPDX-License-Identifier: GPL-3.0-or-later + # SPDX-FileCopyrightText: 2023 Alexandre Bouvier <contact@amb.tf> # # SPDX-License-Identifier: GPL-3.0-or-later @@ -13,7 +16,8 @@ endif() include(FindPackageHandleStandardArgs) find_package_handle_standard_args(LLVM HANDLE_COMPONENTS CONFIG_MODE) -if (LLVM_FOUND AND LLVM_Demangle_FOUND AND NOT TARGET LLVM::Demangle) +# Demangle only for Windows targets +if (WIN32 AND LLVM_FOUND AND LLVM_Demangle_FOUND AND NOT TARGET LLVM::Demangle) add_library(LLVM::Demangle INTERFACE IMPORTED) target_compile_definitions(LLVM::Demangle INTERFACE ${LLVM_DEFINITIONS}) target_include_directories(LLVM::Demangle INTERFACE ${LLVM_INCLUDE_DIRS}) |
