summaryrefslogtreecommitdiff
path: root/CMakeModules
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2023-01-24 11:03:14 -0800
committerGitHub <noreply@github.com>2023-01-24 11:03:14 -0800
commit44b981fd3eb3db5c15bcc24e61bae45607223ee6 (patch)
tree62d8081e018120505df0832ca9af1671be8e8d1f /CMakeModules
parenta68af583ea378b48e2ed5a19f519a815ba89e40f (diff)
parent34b1ea9c1925d0da9377973d25e10e9b5ec40e94 (diff)
Merge pull request #9662 from abouvier/cmake-llvm
cmake: prefer system llvm library
Diffstat (limited to 'CMakeModules')
-rw-r--r--CMakeModules/FindLLVM.cmake16
1 files changed, 16 insertions, 0 deletions
diff --git a/CMakeModules/FindLLVM.cmake b/CMakeModules/FindLLVM.cmake
new file mode 100644
index 000000000..513d9a536
--- /dev/null
+++ b/CMakeModules/FindLLVM.cmake
@@ -0,0 +1,16 @@
+# SPDX-FileCopyrightText: 2023 Alexandre Bouvier <contact@amb.tf>
+#
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+find_package(LLVM QUIET CONFIG)
+
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args(LLVM CONFIG_MODE)
+
+if (LLVM_FOUND AND NOT TARGET LLVM::Demangle)
+ add_library(LLVM::Demangle INTERFACE IMPORTED)
+ llvm_map_components_to_libnames(LLVM_LIBRARIES demangle)
+ target_compile_definitions(LLVM::Demangle INTERFACE ${LLVM_DEFINITIONS})
+ target_include_directories(LLVM::Demangle INTERFACE ${LLVM_INCLUDE_DIRS})
+ target_link_libraries(LLVM::Demangle INTERFACE ${LLVM_LIBRARIES})
+endif()