[Mlir-commits] [mlir] [mlir] [test] Fix missing SHLIB definition in standalone builds (PR #120907)

Michał Górny llvmlistbot at llvm.org
Sun Dec 22 08:29:37 PST 2024


https://github.com/mgorny created https://github.com/llvm/llvm-project/pull/120907

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.

>From de71136e4441fb79fb8962702b1bf5563f2b777d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny at gentoo.org>
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 0608eef15c5a4b..99ea1b70fbc4d2 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()
 



More information about the Mlir-commits mailing list