2013-12-10 14:37:32 +01:00
|
|
|
isEmpty(LLVM_INSTALL_DIR):LLVM_INSTALL_DIR=$$(LLVM_INSTALL_DIR)
|
|
|
|
|
|
|
|
|
|
DEFINES += CLANG_COMPLETION
|
|
|
|
|
DEFINES += CLANG_HIGHLIGHTING
|
|
|
|
|
#DEFINES += CLANG_INDEXING
|
|
|
|
|
|
|
|
|
|
defineReplace(findLLVMConfig) {
|
|
|
|
|
LLVM_CONFIG_VARIANTS = \
|
|
|
|
|
llvm-config llvm-config-3.2 llvm-config-3.3 llvm-config-3.4 \
|
|
|
|
|
llvm-config-3.5 llvm-config-3.6 llvm-config-4.0 llvm-config-4.1
|
|
|
|
|
|
2014-01-03 13:37:16 +01:00
|
|
|
# Prefer llvm-config* from LLVM_INSTALL_DIR
|
|
|
|
|
!isEmpty(LLVM_INSTALL_DIR) {
|
|
|
|
|
for (variant, LLVM_CONFIG_VARIANTS) {
|
|
|
|
|
variant=$$LLVM_INSTALL_DIR/bin/$$variant
|
|
|
|
|
exists($$variant) {
|
|
|
|
|
return($$variant)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
# Find llvm-config* in PATH
|
2013-12-10 14:37:32 +01:00
|
|
|
ENV_PATH = $$(PATH)
|
|
|
|
|
win32 {
|
|
|
|
|
ENV_PATH = $$split($$ENV_PATH, ;)
|
|
|
|
|
} else {
|
|
|
|
|
ENV_PATH = $$split($$ENV_PATH, :)
|
|
|
|
|
}
|
|
|
|
|
for (variant, LLVM_CONFIG_VARIANTS) {
|
2014-01-03 13:37:16 +01:00
|
|
|
for (path, ENV_PATH) {
|
|
|
|
|
subvariant = $$path/$$variant
|
|
|
|
|
exists($$subvariant) {
|
|
|
|
|
return($$subvariant)
|
2013-12-10 14:37:32 +01:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
2014-01-03 13:37:16 +01:00
|
|
|
|
|
|
|
|
# Fallback
|
2013-12-10 14:37:32 +01:00
|
|
|
return(llvm-config)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
win32 {
|
|
|
|
|
LLVM_INCLUDEPATH = $$LLVM_INSTALL_DIR/include
|
2014-01-03 09:03:40 +01:00
|
|
|
exists ($${LLVM_INSTALL_DIR}/lib/clang.*) {
|
|
|
|
|
CLANG_LIB = clang
|
|
|
|
|
} else {
|
|
|
|
|
exists ($${LLVM_INSTALL_DIR}/lib/libclang.*) {
|
|
|
|
|
CLANG_LIB = libclang
|
|
|
|
|
} else {
|
|
|
|
|
error("Cannot find Clang shared library!")
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
LLVM_LIBS = \
|
|
|
|
|
-L$$LLVM_INSTALL_DIR/bin \
|
2013-12-10 14:37:32 +01:00
|
|
|
-L$$LLVM_INSTALL_DIR/lib \
|
2014-01-03 09:03:40 +01:00
|
|
|
-l$${CLANG_LIB}
|
2013-12-10 14:37:32 +01:00
|
|
|
LLVM_LIBS += -ladvapi32 -lshell32
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
unix {
|
|
|
|
|
LLVM_CONFIG = $$findLLVMConfig()
|
|
|
|
|
|
|
|
|
|
LLVM_INCLUDEPATH = $$system($$LLVM_CONFIG --includedir)
|
|
|
|
|
isEmpty(LLVM_INCLUDEPATH):LLVM_INCLUDEPATH=$$LLVM_INSTALL_DIR/include
|
|
|
|
|
LLVM_LIBDIR = $$system($$LLVM_CONFIG --libdir)
|
|
|
|
|
isEmpty(LLVM_LIBDIR):LLVM_LIBDIR=$$LLVM_INSTALL_DIR/lib
|
|
|
|
|
|
|
|
|
|
exists ($${LLVM_LIBDIR}/libclang.*) {
|
|
|
|
|
#message("LLVM was build with autotools")
|
|
|
|
|
CLANG_LIB = clang
|
|
|
|
|
} else {
|
|
|
|
|
exists ($${LLVM_LIBDIR}/liblibclang.*) {
|
|
|
|
|
#message("LLVM was build with CMake")
|
|
|
|
|
CLANG_LIB = libclang
|
|
|
|
|
} else {
|
|
|
|
|
exists ($${LLVM_INSTALL_DIR}/lib/libclang.*) {
|
|
|
|
|
#message("libclang placed separately from LLVM")
|
|
|
|
|
CLANG_LIB = clang
|
|
|
|
|
LLVM_LIBDIR = $${LLVM_INSTALL_DIR}/lib
|
|
|
|
|
LLVM_INCLUDEPATH=$${LLVM_INSTALL_DIR}/include
|
|
|
|
|
} else {
|
|
|
|
|
error("Cannot find Clang shared library!")
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
LLVM_LIBS = -L$${LLVM_LIBDIR}
|
|
|
|
|
LLVM_LIBS += -l$${CLANG_LIB}
|
|
|
|
|
}
|