aboutsummaryrefslogtreecommitdiff
path: root/CMakeModules/FindLLVM.cmake
diff options
context:
space:
mode:
authorAlexandre Bouvier <contact@amb.tf>2023-01-23 01:51:12 +0100
committerAlexandre Bouvier <contact@amb.tf>2023-01-23 06:23:00 +0100
commit8768e16b6c57a0c330919f306c00946afd14a019 (patch)
tree0ada6de7ae81a250258a4243d5bd4d2cc1283aef /CMakeModules/FindLLVM.cmake
parentef4b11726fb78f4501ac5cddaa3a0c2311c46a37 (diff)
cmake: prefer system llvm library
Diffstat (limited to 'CMakeModules/FindLLVM.cmake')
-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 0000000000..513d9a5365
--- /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()