diff --git a/llvm/cmake/modules/AddLLVM.cmake b/llvm/cmake/modules/AddLLVM.cmake --- a/llvm/cmake/modules/AddLLVM.cmake +++ b/llvm/cmake/modules/AddLLVM.cmake @@ -2358,6 +2358,9 @@ endif() if(LLVM_LINKER_IS_GNULD) # $ORIGIN is not interpreted at link time by ld.bfd + if(NOT LLVM_LIBRARY_OUTPUT_INTDIR) + message(SEND_ERROR "Project does not define LLVM_LIBRARY_OUTPUT_INTDIR and it is required") + endif() set_property(TARGET ${name} APPEND_STRING PROPERTY LINK_FLAGS " -Wl,-rpath-link,${LLVM_LIBRARY_OUTPUT_INTDIR} ") endif() diff --git a/mlir/CMakeLists.txt b/mlir/CMakeLists.txt --- a/mlir/CMakeLists.txt +++ b/mlir/CMakeLists.txt @@ -35,6 +35,11 @@ "${CMAKE_CURRENT_BINARY_DIR}/lib${LLVM_LIBDIR_SUFFIX}") set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/bin") + # Some LLVM CMake utilities use these aliases for the CMake builtin variables. + # We set them for compatibility. + set(LLVM_LIBRARY_OUTPUT_INTDIR ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}) + set(LLVM_RUNTIME_OUTPUT_INTDIR ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}) + set(LLVM_LIT_ARGS "-sv" CACHE STRING "Default options for lit") endif()