aboutsummaryrefslogtreecommitdiff
path: root/cmake
diff options
context:
space:
mode:
authorAndrew Kelley <superjoe30@gmail.com>2016-01-19 22:07:19 -0700
committerAndrew Kelley <superjoe30@gmail.com>2016-01-19 22:13:22 -0700
commit3eca42c17be1105dbc76c22fdc8447bccf11de0d (patch)
tree6df85dfb075e8fac00bb25336b2d6cf246da17a8 /cmake
parentc17309dbc52c055dfd147ba46c6fa110df6b8227 (diff)
downloadzig-3eca42c17be1105dbc76c22fdc8447bccf11de0d.tar.gz
zig-3eca42c17be1105dbc76c22fdc8447bccf11de0d.zip
cmake: detect libLLVM.so
Diffstat (limited to 'cmake')
-rw-r--r--cmake/Findllvm.cmake44
1 files changed, 25 insertions, 19 deletions
diff --git a/cmake/Findllvm.cmake b/cmake/Findllvm.cmake
index 6e5784611b..9ca86d0a4c 100644
--- a/cmake/Findllvm.cmake
+++ b/cmake/Findllvm.cmake
@@ -9,26 +9,32 @@
find_path(LLVM_C_INCLUDE_DIR NAMES llvm-c/Core.h PATHS /usr/include/llvm-c-3.7/)
find_path(LLVM_INCLUDE_DIR NAMES llvm/IR/IRBuilder.h PATHS /usr/include/llvm-3.7/)
-
-find_program(LLVM_CONFIG_EXE NAMES llvm-config llvm-config-3.7)
-
-execute_process(
- COMMAND ${LLVM_CONFIG_EXE} --libs
- OUTPUT_VARIABLE LLVM_LIBRARIES
- OUTPUT_STRIP_TRAILING_WHITESPACE)
-
-execute_process(
- COMMAND ${LLVM_CONFIG_EXE} --system-libs
- OUTPUT_VARIABLE LLVM_SYSTEM_LIBS
- OUTPUT_STRIP_TRAILING_WHITESPACE)
-
-execute_process(
- COMMAND ${LLVM_CONFIG_EXE} --libdir
- OUTPUT_VARIABLE LLVM_LIBDIRS
- OUTPUT_STRIP_TRAILING_WHITESPACE)
-
set(LLVM_INCLUDE_DIRS ${LLVM_C_INCLUDE_DIR} ${LLVM_INCLUDE_DIR})
-set(LLVM_LIBRARIES ${LLVM_LIBRARIES} ${LLVM_SYSTEM_LIBS})
+
+find_library(LLVM_LIBRARY NAMES LLVM)
+if(LLVM_LIBRARY)
+ set(LLVM_LIBRARIES ${LLVM_LIBRARY})
+ set(LLVM_LIBDIRS "")
+else()
+ find_program(LLVM_CONFIG_EXE NAMES llvm-config llvm-config-3.7)
+
+ execute_process(
+ COMMAND ${LLVM_CONFIG_EXE} --libs
+ OUTPUT_VARIABLE LLVM_LIBRARIES
+ OUTPUT_STRIP_TRAILING_WHITESPACE)
+
+ execute_process(
+ COMMAND ${LLVM_CONFIG_EXE} --system-libs
+ OUTPUT_VARIABLE LLVM_SYSTEM_LIBS
+ OUTPUT_STRIP_TRAILING_WHITESPACE)
+
+ execute_process(
+ COMMAND ${LLVM_CONFIG_EXE} --libdir
+ OUTPUT_VARIABLE LLVM_LIBDIRS
+ OUTPUT_STRIP_TRAILING_WHITESPACE)
+
+ set(LLVM_LIBRARIES ${LLVM_LIBRARIES} ${LLVM_SYSTEM_LIBS})
+endif()
include(FindPackageHandleStandardArgs)