]> git.siccegge.de Git - frida/frida.git/blobdiff - cmake/Modules/FindLLVM.cmake
Preliminary LLVM-3.6 support
[frida/frida.git] / cmake / Modules / FindLLVM.cmake
index ba2dd1521ba9eecfe5ac25b466b15933574cd162..6cf5e71235c3d2f5edf5de46c464b856ec49f6df 100644 (file)
@@ -1,10 +1,10 @@
-find_program(LLVM_CONFIG NAMES llvm-config-3.5 llvm-config)
+find_program(LLVM_CONFIG NAMES llvm-config-3.5 llvm-config llvm-config-3.6)
 
 if(LLVM_CONFIG)
   execute_process(COMMAND ${LLVM_CONFIG} --version
        OUTPUT_VARIABLE LLVM_VERSION)
 
-  if(((${LLVM_VERSION} VERSION_LESS 3.6.0)
+  if(((${LLVM_VERSION} VERSION_LESS 3.7.0)
                AND (${LLVM_VERSION} VERSION_GREATER 3.5))
          OR (${LLVM_VERSION} VERSION_EQUAL 3.5))
 
@@ -24,6 +24,15 @@ if(LLVM_CONFIG)
        string(REPLACE -I "-isystem" LLVM_CFLAGS ${LLVM_CFLAGS})
 
        separate_arguments(LLVM_CFLAGS)
+
+       if(${LLVM_VERSION} VERSION_LESS 3.6)
+         set(LLVM_CFLAGS ${LLVM_CFLAGS} -DLLVM_35)
+         set(LLVM_DYNAMIC_LIB -lLLVM-3.5)
+       else()
+         set(LLVM_CFLAGS ${LLVM_CFLAGS} -DLLVM_36)
+         set(LLVM_DYNAMIC_LIB -lLLVM-3.6)
+         message(WARNING "LLVM 3.6 support is highly experimental and may be broken in interesting ways")
+       endif()
   endif()
 endif()