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)