[PATCH][CMake] Removing LLVMLibDeps.cmake and exporting libraries for CMake clients.

While implementing the object file library I ran into some weird
linking issues. It turned out that you have to manually specify extra
library dependencies in LLVMLibDeps.cmake, along with what you already
specify in the CMakeLists.txt file for the component.

The attached patches remove this requirement, and add real CMake
package export capabilities. A CMake user wishing to use LLVM can now
use something similar to this:

cmake_minimum_required(VERSION 2.8)

find_package(LLVM REQUIRED)
add_definitions(${LLVM_CXXFLAGS})
add_executable(llvm-external-test llvm-external-test.cpp)
target_link_libraries(llvm-external-test ${LLVM_SYSTEM_LIBS}
${LLVM_JIT_LIBS} ${LLVM_NATIVECODEGEN_LIBS})

llvm+clang compile with these changes on both Linux and MSVS.
Currently both patches must be applied at the same time. I can
refactor them into a 3 step process if needed.

Does this break anything for anyone?

- Michael Spencer

remove-LLVMLibDeps.cmake.patch (45.8 KB)

cmake-update-to-match.patch (9.6 KB)

I think this is great, and I'd like to see it go in, but I can't test it at the moment because, unfortunately, we collided: I just updated a bunch of CMake dependencies in Clang, so your patch doesn't apply. Can you regenerate and post again?

  - Doug

Attached is the clang patch against r113524.

- Michael Spencer

clang-cmake-upate-to-match.patch (17.7 KB)