From 17f734dbca7fb129bc10c1e8f6bbbaeb9c218f3b Mon Sep 17 00:00:00 2001 From: Michael Kruse Date: Tue, 28 Oct 2025 12:03:30 +0100 Subject: [PATCH] Optionally do not install MLIR libraries --- flang/cmake/modules/AddFlang.cmake | 4 ++-- mlir/CMakeLists.txt | 1 + mlir/cmake/modules/AddMLIR.cmake | 7 ++++++- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/flang/cmake/modules/AddFlang.cmake b/flang/cmake/modules/AddFlang.cmake index ca233103ccdbe..52ab0484a6044 100644 --- a/flang/cmake/modules/AddFlang.cmake +++ b/flang/cmake/modules/AddFlang.cmake @@ -48,7 +48,7 @@ function(add_flang_library name) ADDITIONAL_HEADERS ${srcs} ${ARG_ADDITIONAL_HEADERS}) # It may contain unparsed unknown args. - + endif() if(ARG_SHARED AND ARG_STATIC) @@ -75,7 +75,7 @@ function(add_flang_library name) if (TARGET ${name}) - if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY OR ${name} STREQUAL "libflang" + if ((NOT LLVM_INSTALL_TOOLCHAIN_ONLY AND NOT MLIR_INSTALL_TOOLCHAIN_ONLY) OR ${name} STREQUAL "libflang" OR ARG_INSTALL_WITH_TOOLCHAIN) get_target_export_arg(${name} Flang export_to_flangtargets UMBRELLA flang-libraries) install(TARGETS ${name} diff --git a/mlir/CMakeLists.txt b/mlir/CMakeLists.txt index 1a211f5495764..1b6ebabbd3a85 100644 --- a/mlir/CMakeLists.txt +++ b/mlir/CMakeLists.txt @@ -50,6 +50,7 @@ endif() set(MLIR_TOOLS_INSTALL_DIR "${CMAKE_INSTALL_BINDIR}" CACHE PATH "Path for binary subdirectory (defaults to '${CMAKE_INSTALL_BINDIR}')") +option(MLIR_INSTALL_TOOLCHAIN_ONLY "Do not install MLIR libraries unless they belong to the toolchain" OFF) mark_as_advanced(MLIR_TOOLS_INSTALL_DIR) set(MLIR_MAIN_SRC_DIR ${CMAKE_CURRENT_SOURCE_DIR} ) diff --git a/mlir/cmake/modules/AddMLIR.cmake b/mlir/cmake/modules/AddMLIR.cmake index 6589458ab7894..284befb332f9b 100644 --- a/mlir/cmake/modules/AddMLIR.cmake +++ b/mlir/cmake/modules/AddMLIR.cmake @@ -2,6 +2,7 @@ include(TableGen) include(GNUInstallDirs) include(LLVMDistributionSupport) + function(mlir_tablegen ofn) tablegen(MLIR ${ARGV}) set(TABLEGEN_OUTPUT ${TABLEGEN_OUTPUT} ${CMAKE_CURRENT_BINARY_DIR}/${ofn} @@ -632,8 +633,12 @@ endfunction(add_mlir_aggregate) # This is usually done as part of add_mlir_library but is broken out for cases # where non-standard library builds can be installed. function(add_mlir_library_install name) + message("add_mlir_library_install(${name})") + message("MLIR_INSTALL_TOOLCHAIN_ONLY: ${MLIR_INSTALL_TOOLCHAIN_ONLY}") + message("LLVM_INSTALL_TOOLCHAIN_ONLY: ${LLVM_INSTALL_TOOLCHAIN_ONLY}") get_target_property(_install_with_toolchain ${name} MLIR_INSTALL_WITH_TOOLCHAIN) - if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY OR _install_with_toolchain) + if ((NOT LLVM_INSTALL_TOOLCHAIN_ONLY AND NOT MLIR_INSTALL_TOOLCHAIN_ONLY) OR _install_with_toolchain) + message("installing ${name}") get_target_export_arg(${name} MLIR export_to_mlirtargets UMBRELLA mlir-libraries) install(TARGETS ${name} COMPONENT ${name}