diff --git a/CMakeTests/FindLLVM.cmake b/CMakeTests/FindLLVM.cmake index cfcfaedb92..2646477e4e 100644 --- a/CMakeTests/FindLLVM.cmake +++ b/CMakeTests/FindLLVM.cmake @@ -21,8 +21,23 @@ foreach(LLVM_CONFIG_NAME ${LLVM_CONFIG_EXECUTABLES}) check_library_exists(LLVM-${LLVM_PACKAGE_VERSION} LLVMVerifyFunction "${LLVM_LDFLAGS}" HAVE_DYNAMIC_LLVM_${LLVM_PACKAGE_VERSION}) if (HAVE_DYNAMIC_LLVM_${LLVM_PACKAGE_VERSION}) set(LLVM_LIBRARIES "${LLVM_LDFLAGS} -lLLVM-${LLVM_PACKAGE_VERSION}") - set(LLVM_FOUND 1) - break() + set(CMAKE_REQUIRED_LIBRARIES ${LLVM_LIBRARIES}) + CHECK_CXX_SOURCE_COMPILES( + "#include + #include + int main(int argc, char **argv) + { + LLVMInitializeAllTargetInfos(); + LLVMInitializeAllTargetMCs(); + LLVMInitializeAllDisassemblers(); + return 0; + }" + LLVM_FOUND) + unset(CMAKE_REQUIRED_LIBRARIES) + + if (LLVM_FOUND) + break() + endif() endif() endif() endif()