From de71136e4441fb79fb8962702b1bf5563f2b777d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= Date: Sun, 22 Dec 2024 17:26:26 +0100 Subject: [PATCH] [mlir] [test] Fix missing SHLIB definition in standalone builds Define the `LLVM_SHLIB_OUTPUT_INTDIR` variable that is used by `configure_lit_site_cfg` to fill `SHLIBDIR`. This fixes tool tests that would otherwise be unable to find MLIR's runtime shared libraries (e.g. `libmlir_runner_utils.so`). The logic is copied verbatim from Clang. --- mlir/CMakeLists.txt | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/mlir/CMakeLists.txt b/mlir/CMakeLists.txt index 0608eef15c5a4..99ea1b70fbc4d 100644 --- a/mlir/CMakeLists.txt +++ b/mlir/CMakeLists.txt @@ -36,6 +36,15 @@ if(MLIR_STANDALONE_BUILD) "${CMAKE_CURRENT_BINARY_DIR}/lib${LLVM_LIBDIR_SUFFIX}") set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/bin") + # These definitions are needed to fill SHLIBDIR in tests. + set(LLVM_RUNTIME_OUTPUT_INTDIR ${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/bin) + set(LLVM_LIBRARY_OUTPUT_INTDIR ${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/lib${LLVM_LIBDIR_SUFFIX}) + if(WIN32 OR CYGWIN) + # DLL platform -- put DLLs into bin. + set(LLVM_SHLIB_OUTPUT_INTDIR ${LLVM_RUNTIME_OUTPUT_INTDIR}) + else() + set(LLVM_SHLIB_OUTPUT_INTDIR ${LLVM_LIBRARY_OUTPUT_INTDIR}) + endif() set(LLVM_LIT_ARGS "-sv" CACHE STRING "Default options for lit") endif()