summaryrefslogtreecommitdiff
path: root/CMake
diff options
context:
space:
mode:
authorZhigang Gong <zhigang.gong@linux.intel.com>2012-12-11 14:29:10 +0800
committerZhigang Gong <zhigang.gong@linux.intel.com>2013-03-29 19:35:17 +0800
commitcb61937e57fde3ac3a4e5aed0a04ffc730efdc00 (patch)
treea4bb16f987e5b7bdd2309755c1aec21a9559ce43 /CMake
parent5fa7a3db9189f19ed5af4f00f83fa61a62a3a17e (diff)
CMake fixup.
Add a FindLLVM to handle the llvm package finding function. Fixed the broken CMake files in backend. Signed-off-by: Zhigang Gong <zhigang.gong@linux.intel.com>
Diffstat (limited to 'CMake')
-rw-r--r--CMake/FindLLVM.cmake46
1 files changed, 46 insertions, 0 deletions
diff --git a/CMake/FindLLVM.cmake b/CMake/FindLLVM.cmake
new file mode 100644
index 00000000..4fa10a53
--- /dev/null
+++ b/CMake/FindLLVM.cmake
@@ -0,0 +1,46 @@
+# Find the native LLVM includes and library
+#
+# LLVM_INCLUDE_DIR - where to find llvm include files
+# LLVM_LIBRARY_DIR - where to find llvm libs
+# LLVM_CFLAGS - llvm compiler flags
+# LLVM_LFLAGS - llvm linker flags
+# LLVM_MODULE_LIBS - list of llvm libs for working with modules.
+# LLVM_FOUND - True if llvm found.
+
+find_program(LLVM_CONFIG_EXECUTABLE NAMES llvm-config DOC "llvm-config executable")
+
+if (LLVM_CONFIG_EXECUTABLE)
+ message(STATUS "LLVM llvm-config found at: ${LLVM_CONFIG_EXECUTABLE}")
+else (LLVM_CONFIG_EXECUTABLE)
+ message(FATAL_ERROR "Could NOT find LLVM executable")
+endif (LLVM_CONFIG_EXECUTABLE)
+
+execute_process(
+ COMMAND ${LLVM_CONFIG_EXECUTABLE} --includedir
+ OUTPUT_VARIABLE LLVM_INCLUDE_DIR
+ OUTPUT_STRIP_TRAILING_WHITESPACE
+)
+
+execute_process(
+ COMMAND ${LLVM_CONFIG_EXECUTABLE} --libdir
+ OUTPUT_VARIABLE LLVM_LIBRARY_DIR
+ OUTPUT_STRIP_TRAILING_WHITESPACE
+)
+
+execute_process(
+ COMMAND ${LLVM_CONFIG_EXECUTABLE} --cppflags
+ OUTPUT_VARIABLE LLVM_CFLAGS
+ OUTPUT_STRIP_TRAILING_WHITESPACE
+)
+
+execute_process(
+ COMMAND ${LLVM_CONFIG_EXECUTABLE} --ldflags
+ OUTPUT_VARIABLE LLVM_LFLAGS
+ OUTPUT_STRIP_TRAILING_WHITESPACE
+)
+
+execute_process(
+ COMMAND ${LLVM_CONFIG_EXECUTABLE} --libs
+ OUTPUT_VARIABLE LLVM_MODULE_LIBS
+ OUTPUT_STRIP_TRAILING_WHITESPACE
+)