diff options
author | Feng, Boqun <boqun.feng@intel.com> | 2013-03-01 13:30:19 +0800 |
---|---|---|
committer | Zhigang Gong <zhigang.gong@linux.intel.com> | 2013-04-10 14:51:30 +0800 |
commit | 02939d201352f5a5cf2b1335c7abcfbfee496d90 (patch) | |
tree | ebc0ebb579d1c800b624f13e6f498666ba31853d /CMake | |
parent | af5a1f00b47588a44f1d864d0b58458002b12e10 (diff) | |
download | beignet-02939d201352f5a5cf2b1335c7abcfbfee496d90.tar.gz |
backend: Add LLVM stable version support
support current llvm stable version 3.2
modify cmake file to check the version of llvm provided by system or
configured by LLVM_INSTALL_DIR, and add a macro define in the format
LLVM_<MAJOR><MINOR> according the version, this macro can be used for
llvm version-specific code.
Signed-off-by: Feng, Boqun <boqun.feng@intel.com>
Reviewed-by: Homer Hsing <homer.xing@intel.com>
Diffstat (limited to 'CMake')
-rw-r--r-- | CMake/FindLLVM.cmake | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/CMake/FindLLVM.cmake b/CMake/FindLLVM.cmake index 391e2626..702c6282 100644 --- a/CMake/FindLLVM.cmake +++ b/CMake/FindLLVM.cmake @@ -6,12 +6,16 @@ # 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 llvm-config-32 llvm-config-3.0 DOC "llvm-config executable") +if (LLVM_INSTALL_DIR) + find_program(LLVM_CONFIG_EXECUTABLE NAMES llvm-config llvm-config-32 llvm-config-3.0 DOC "llvm-config executable" PATHS ${LLVM_INSTALL_DIR} NO_DEFAULT_PATH) +else (LLVM_INSTALL_DIR) + find_program(LLVM_CONFIG_EXECUTABLE NAMES llvm-config llvm-config-32 llvm-config-3.0 DOC "llvm-config executable") +endif (LLVM_INSTALL_DIR) 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") + message(FATAL_ERROR "Could NOT find LLVM executable, please add -DLLVM_INSTALL_DIR=/path/to/llvm-config/ in cmake command") endif (LLVM_CONFIG_EXECUTABLE) if (LLVM_FIND_VERSION_MAJOR AND LLVM_FIND_VERSION_MINOR) @@ -22,7 +26,14 @@ if (LLVM_FIND_VERSION_MAJOR AND LLVM_FIND_VERSION_MINOR) ) string(REGEX REPLACE "([0-9]*)\\.([0-9]*)[^0-9]*" "\\1\\2 " LLVM_VERSION_NODOT ${LLVM_VERSION}) if (LLVM_VERSION_NODOT VERSION_LESS LLVM_FIND_VERSION_NODOT) - message(FATAL_ERROR "imcompatible LLVM version ${LLVM_VERSION_NODOT} required ${LLVM_FIND_VERSION}") + message(FATAL_ERROR "imcompatible LLVM version ${LLVM_VERSION} required ${LLVM_FIND_VERSION}") + else (LLVM_VERSION_NODOT VERSION_LESS LLVM_FIND_VERSION_NODOT) + if (LLVM_VERSION_NODOT VERSION_EQUAL LLVM_FIND_VERSION_NODOT) + message(STATUS "find stable LLVM version ${LLVM_VERSION}") + else (LLVM_VERSION_NODOT VERSION_EQUAL LLVM_FIND_VERSION_NODOT) + message(STATUS "find untable LLVM version ${LLVM_VERSION}") + endif (LLVM_VERSION_NODOT VERSION_EQUAL LLVM_FIND_VERSION_NODOT) + add_definitions("-DLLVM_${LLVM_VERSION_NODOT}") endif (LLVM_VERSION_NODOT VERSION_LESS LLVM_FIND_VERSION_NODOT) endif (LLVM_FIND_VERSION_MAJOR AND LLVM_FIND_VERSION_MINOR) |