CMake: support for using LLVM from client projects with find_package.

Patch by arrowdodger!

llvm-svn: 129247
diff --git a/llvm/cmake/modules/LLVMConfig.cmake.in b/llvm/cmake/modules/LLVMConfig.cmake.in
new file mode 100644
index 0000000..0d2f97c
--- /dev/null
+++ b/llvm/cmake/modules/LLVMConfig.cmake.in
@@ -0,0 +1,45 @@
+# This file provides information and services to the final user.
+
+set(LLVM_PACKAGE_VERSION @PACKAGE_VERSION@) #remove this?
+
+set(LLVM_COMMON_DEPENDS @LLVM_COMMON_DEPENDS@)
+
+set_property( GLOBAL PROPERTY LLVM_LIBS "@llvm_libs@")
+
+set(LLVM_ALL_TARGETS @LLVM_ALL_TARGETS@)
+
+set(LLVM_TARGETS_TO_BUILD @LLVM_TARGETS_TO_BUILD@)
+
+set(TARGET_TRIPLE "@TARGET_TRIPLE@")
+
+set(LLVM_TOOLS_BINARY_DIR @LLVM_TOOLS_BINARY_DIR@)
+
+set(LLVM_ENABLE_THREADS @LLVM_ENABLE_THREADS@)
+
+set(LLVM_NATIVE_ARCH @LLVM_NATIVE_ARCH@)
+
+set(LLVM_ENABLE_PIC @LLVM_ENABLE_PIC@)
+
+set(HAVE_LIBDL @HAVE_LIBDL@)
+set(HAVE_LIBPTHREAD @HAVE_LIBPTHREAD@)
+set(LLVM_ON_UNIX @LLVM_ON_UNIX@)
+set(LLVM_ON_WIN32 @LLVM_ON_WIN32@)
+
+set(LLVM_INSTALL_PREFIX @LLVM_INSTALL_PREFIX@)
+set(LLVM_INCLUDE_DIRS ${LLVM_INSTALL_PREFIX}/include)
+set(LLVM_LIBRARY_DIRS ${LLVM_INSTALL_PREFIX}/lib)
+set(LLVM_DEFINITIONS "-D__STDC_LIMIT_MACROS" "-D__STDC_CONSTANT_MACROS")
+
+# We try to include using the current setting of CMAKE_MODULE_PATH,
+# which suppossedly was filled by the user with the directory where
+# this file was installed:
+include( LLVM-Config OPTIONAL RESULT_VARIABLE LLVMCONFIG_INCLUDED )
+
+# If failed, we assume that this is an un-installed build:
+if( NOT LLVMCONFIG_INCLUDED )
+  set(CMAKE_MODULE_PATH
+    ${CMAKE_MODULE_PATH}
+    "@LLVM_SOURCE_DIR@/cmake/modules")
+  include( LLVM-Config )
+endif()
+