| # 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 core bitreader asmparser analysis |
| OUTPUT_VARIABLE LLVM_MODULE_LIBS |
| OUTPUT_STRIP_TRAILING_WHITESPACE |
| ) |