[llvm] 07b7498 - [cmake] Don't export `LLVM_TOOLS_INSTALL_DIR` anymore

John Ericson via llvm-commits llvm-commits at lists.llvm.org
Thu Jul 21 12:04:07 PDT 2022


Author: John Ericson
Date: 2022-07-21T19:04:00Z
New Revision: 07b749800c5cd4105d49ab46be5f0a2079dd709a

URL: https://github.com/llvm/llvm-project/commit/07b749800c5cd4105d49ab46be5f0a2079dd709a
DIFF: https://github.com/llvm/llvm-project/commit/07b749800c5cd4105d49ab46be5f0a2079dd709a.diff

LOG: [cmake] Don't export `LLVM_TOOLS_INSTALL_DIR` anymore

First of all, `LLVM_TOOLS_INSTALL_DIR` put there breaks our NixOS
builds, because `LLVM_TOOLS_INSTALL_DIR` defined the same as
`CMAKE_INSTALL_BINDIR` becomes an *absolute* path, and then when
downstream projects try to install there too this breaks because our
builds always install to fresh directories for isolation's sake.

Second of all, note that `LLVM_TOOLS_INSTALL_DIR` stands out against the
other specially crafted `LLVM_CONFIG_*` variables substituted in
`llvm/cmake/modules/LLVMConfig.cmake.in`.

@beanz added it in d0e1c2a550ef348aae036d0fe78cab6f038c420c to fix a
dangling reference in `AddLLVM`, but I am suspicious of how this
variable doesn't follow the pattern.

Those other ones are carefully made to be build-time vs install-time
variables depending on which `LLVMConfig.cmake` is being generated, are
carefully made relative as appropriate, etc. etc. For my NixOS use-case
they are also fine because they are never used as downstream install
variables, only for reading not writing.

To avoid the problems I face, and restore symmetry, I deleted the
exported and arranged to have many `${project}_TOOLS_INSTALL_DIR`s.
`AddLLVM` now instead expects each project to define its own, and they
do so based on `CMAKE_INSTALL_BINDIR`. `LLVMConfig` still exports
`LLVM_TOOLS_BINARY_DIR` which is the location for the tools defined in
the usual way, matching the other remaining exported variables.

For the `AddLLVM` changes, I tried to copy the existing pattern of
internal vs non-internal or for LLVM vs for downstream function/macro
names, but it would good to confirm I did that correctly.

Reviewed By: nikic

Differential Revision: https://reviews.llvm.org/D117977

Added: 
    

Modified: 
    bolt/tools/CMakeLists.txt
    bolt/tools/driver/CMakeLists.txt
    bolt/tools/heatmap/CMakeLists.txt
    bolt/tools/merge-fdata/CMakeLists.txt
    clang/CMakeLists.txt
    clang/cmake/modules/AddClang.cmake
    flang/CMakeLists.txt
    flang/cmake/modules/AddFlang.cmake
    lld/CMakeLists.txt
    lld/cmake/modules/AddLLD.cmake
    llvm/cmake/modules/AddLLVM.cmake
    llvm/cmake/modules/CMakeLists.txt
    llvm/cmake/modules/LLVMConfig.cmake.in
    llvm/cmake/modules/TableGen.cmake
    mlir/CMakeLists.txt
    mlir/cmake/modules/AddMLIR.cmake
    mlir/tools/mlir-cpu-runner/CMakeLists.txt
    mlir/tools/mlir-linalg-ods-gen/CMakeLists.txt
    mlir/tools/mlir-lsp-server/CMakeLists.txt
    mlir/tools/mlir-opt/CMakeLists.txt
    mlir/tools/mlir-pdll-lsp-server/CMakeLists.txt
    mlir/tools/mlir-reduce/CMakeLists.txt
    mlir/tools/mlir-spirv-cpu-runner/CMakeLists.txt
    mlir/tools/mlir-translate/CMakeLists.txt
    mlir/tools/mlir-vulkan-runner/CMakeLists.txt
    mlir/tools/tblgen-lsp-server/CMakeLists.txt
    openmp/libomptarget/tools/CMakeLists.txt
    openmp/libomptarget/tools/deviceinfo/CMakeLists.txt

Removed: 
    


################################################################################
diff  --git a/bolt/tools/CMakeLists.txt b/bolt/tools/CMakeLists.txt
index 1fe85145d79a1..91b00a5438af3 100644
--- a/bolt/tools/CMakeLists.txt
+++ b/bolt/tools/CMakeLists.txt
@@ -1,3 +1,17 @@
+set(BOLT_TOOLS_INSTALL_DIR "${CMAKE_INSTALL_BINDIR}" CACHE PATH
+    "Path for binary subdirectory (defaults to '${CMAKE_INSTALL_BINDIR}')")
+mark_as_advanced(BOLT_TOOLS_INSTALL_DIR)
+
+# Move these macros to AddBolt if such a CMake module is ever created.
+
+macro(add_bolt_tool name)
+  llvm_add_tool(BOLT ${ARGV})
+endmacro()
+
+macro(add_bolt_tool_symlink name)
+  llvm_add_tool_symlink(BOLT ${ARGV})
+endmacro()
+
 add_subdirectory(driver)
 add_subdirectory(llvm-bolt-fuzzer)
 add_subdirectory(merge-fdata)

diff  --git a/bolt/tools/driver/CMakeLists.txt b/bolt/tools/driver/CMakeLists.txt
index 2338ccec11d2b..e56be15dbcff6 100644
--- a/bolt/tools/driver/CMakeLists.txt
+++ b/bolt/tools/driver/CMakeLists.txt
@@ -11,7 +11,7 @@ else()
   set(BOLT_DRIVER_DEPS "")
 endif()
 
-add_llvm_tool(llvm-bolt
+add_bolt_tool(llvm-bolt
   llvm-bolt.cpp
 
   DEPENDS
@@ -25,8 +25,8 @@ target_link_libraries(llvm-bolt
   LLVMBOLTUtils
   )
 
-add_llvm_tool_symlink(perf2bolt llvm-bolt)
-add_llvm_tool_symlink(llvm-bolt
diff  llvm-bolt)
+add_bolt_tool_symlink(perf2bolt llvm-bolt)
+add_bolt_tool_symlink(llvm-bolt
diff  llvm-bolt)
 
 set(BOLT_DEPENDS
   llvm-bolt

diff  --git a/bolt/tools/heatmap/CMakeLists.txt b/bolt/tools/heatmap/CMakeLists.txt
index 820b268125e85..cb8e7ee2605c4 100644
--- a/bolt/tools/heatmap/CMakeLists.txt
+++ b/bolt/tools/heatmap/CMakeLists.txt
@@ -5,7 +5,7 @@ set(LLVM_LINK_COMPONENTS
   Support
   )
 
-add_llvm_tool(llvm-bolt-heatmap
+add_bolt_tool(llvm-bolt-heatmap
   heatmap.cpp
   )
 

diff  --git a/bolt/tools/merge-fdata/CMakeLists.txt b/bolt/tools/merge-fdata/CMakeLists.txt
index 2de2ede8f2b5c..08b2e65b1bce8 100644
--- a/bolt/tools/merge-fdata/CMakeLists.txt
+++ b/bolt/tools/merge-fdata/CMakeLists.txt
@@ -1,6 +1,6 @@
 set(LLVM_LINK_COMPONENTS Support)
 
-add_llvm_tool(merge-fdata
+add_bolt_tool(merge-fdata
   merge-fdata.cpp
 
   DEPENDS

diff  --git a/clang/CMakeLists.txt b/clang/CMakeLists.txt
index 191f4f2af242a..c27beec313d78 100644
--- a/clang/CMakeLists.txt
+++ b/clang/CMakeLists.txt
@@ -366,6 +366,10 @@ endif()
 # The libdir suffix must exactly match whatever LLVM's configuration used.
 set(CLANG_LIBDIR_SUFFIX "${LLVM_LIBDIR_SUFFIX}")
 
+set(CLANG_TOOLS_INSTALL_DIR "${CMAKE_INSTALL_BINDIR}" CACHE PATH
+    "Path for binary subdirectory (defaults to '${CMAKE_INSTALL_BINDIR}')")
+mark_as_advanced(CLANG_TOOLS_INSTALL_DIR)
+
 set(CLANG_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR})
 set(CLANG_BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR})
 

diff  --git a/clang/cmake/modules/AddClang.cmake b/clang/cmake/modules/AddClang.cmake
index 0b3c64c32cfc5..21ac332e4f5fc 100644
--- a/clang/cmake/modules/AddClang.cmake
+++ b/clang/cmake/modules/AddClang.cmake
@@ -184,9 +184,9 @@ macro(add_clang_symlink name dest)
   if(LLVM_TOOL_LLVM_DRIVER_BUILD AND ${dest} IN_LIST LLVM_DRIVER_TOOLS)
     set_property(GLOBAL APPEND PROPERTY LLVM_DRIVER_TOOL_SYMLINKS ${name})
   else()
-    add_llvm_tool_symlink(${name} ${dest} ALWAYS_GENERATE)
+    llvm_add_tool_symlink(CLANG ${name} ${dest} ALWAYS_GENERATE)
     # Always generate install targets
-    llvm_install_symlink(${name} ${dest} ALWAYS_GENERATE)
+    llvm_install_symlink(CLANG ${name} ${dest} ALWAYS_GENERATE)
   endif()
 endmacro()
 

diff  --git a/flang/CMakeLists.txt b/flang/CMakeLists.txt
index e6ebd26203a10..7e0aec2bf0909 100644
--- a/flang/CMakeLists.txt
+++ b/flang/CMakeLists.txt
@@ -203,6 +203,11 @@ else()
   include_directories(SYSTEM ${MLIR_INCLUDE_DIR})
   include_directories(SYSTEM ${MLIR_TABLEGEN_OUTPUT_DIR})
 endif()
+
+set(FLANG_TOOLS_INSTALL_DIR "${CMAKE_INSTALL_BINDIR}" CACHE PATH
+    "Path for binary subdirectory (defaults to '${CMAKE_INSTALL_BINDIR}')")
+mark_as_advanced(FLANG_TOOLS_INSTALL_DIR)
+
 set(FLANG_INTRINSIC_MODULES_DIR ${CMAKE_BINARY_DIR}/include/flang)
 set(FLANG_INCLUDE_DIR ${FLANG_BINARY_DIR}/include)
 

diff  --git a/flang/cmake/modules/AddFlang.cmake b/flang/cmake/modules/AddFlang.cmake
index f6fc2ac363fc5..7c71d2b7b044c 100644
--- a/flang/cmake/modules/AddFlang.cmake
+++ b/flang/cmake/modules/AddFlang.cmake
@@ -122,8 +122,8 @@ macro(add_flang_tool name)
 endmacro()
 
 macro(add_flang_symlink name dest)
-  add_llvm_tool_symlink(${name} ${dest} ALWAYS_GENERATE)
+  llvm_add_tool_symlink(FLANG ${name} ${dest} ALWAYS_GENERATE)
   # Always generate install targets
-  llvm_install_symlink(${name} ${dest} ALWAYS_GENERATE)
+  llvm_install_symlink(FLANG ${name} ${dest} ALWAYS_GENERATE)
 endmacro()
 

diff  --git a/lld/CMakeLists.txt b/lld/CMakeLists.txt
index ec11de705a83b..dcc649629a4b6 100644
--- a/lld/CMakeLists.txt
+++ b/lld/CMakeLists.txt
@@ -156,6 +156,10 @@ if(LLD_BUILT_STANDALONE)
   endif()
 endif() # standalone
 
+set(LLD_TOOLS_INSTALL_DIR "${CMAKE_INSTALL_BINDIR}" CACHE PATH
+    "Path for binary subdirectory (defaults to '${CMAKE_INSTALL_BINDIR}')")
+mark_as_advanced(LLD_TOOLS_INSTALL_DIR)
+
 set(LLD_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR})
 set(LLD_INCLUDE_DIR ${LLD_SOURCE_DIR}/include )
 set(LLD_BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR})

diff  --git a/lld/cmake/modules/AddLLD.cmake b/lld/cmake/modules/AddLLD.cmake
index dd2898ce62364..d3924f7243d40 100644
--- a/lld/cmake/modules/AddLLD.cmake
+++ b/lld/cmake/modules/AddLLD.cmake
@@ -60,7 +60,7 @@ macro(add_lld_tool name)
 endmacro()
 
 macro(add_lld_symlink name dest)
-  add_llvm_tool_symlink(${name} ${dest} ALWAYS_GENERATE)
+  llvm_add_tool_symlink(LLD ${name} ${dest} ALWAYS_GENERATE)
   # Always generate install targets
-  llvm_install_symlink(${name} ${dest} ALWAYS_GENERATE)
+  llvm_install_symlink(LLD ${name} ${dest} ALWAYS_GENERATE)
 endmacro()

diff  --git a/llvm/cmake/modules/AddLLVM.cmake b/llvm/cmake/modules/AddLLVM.cmake
index dc0d74e360fde..22076d4385109 100644
--- a/llvm/cmake/modules/AddLLVM.cmake
+++ b/llvm/cmake/modules/AddLLVM.cmake
@@ -1281,7 +1281,7 @@ if(NOT LLVM_TOOLCHAIN_TOOLS)
     )
 endif()
 
-macro(add_llvm_tool name)
+macro(llvm_add_tool project name)
   cmake_parse_arguments(ARG "DEPENDS;GENERATE_DRIVER" "" "" ${ARGN})
   if( NOT LLVM_BUILD_TOOLS )
     set(EXCLUDE_FROM_ALL ON)
@@ -1297,7 +1297,7 @@ macro(add_llvm_tool name)
         get_target_export_arg(${name} LLVM export_to_llvmexports)
         install(TARGETS ${name}
                 ${export_to_llvmexports}
-                RUNTIME DESTINATION ${LLVM_TOOLS_INSTALL_DIR}
+                RUNTIME DESTINATION ${${project}_TOOLS_INSTALL_DIR}
                 COMPONENT ${name})
 
         if (NOT LLVM_ENABLE_IDE)
@@ -1312,7 +1312,11 @@ macro(add_llvm_tool name)
     endif()
     set_target_properties(${name} PROPERTIES FOLDER "Tools")
   endif()
-endmacro(add_llvm_tool name)
+endmacro(llvm_add_tool project name)
+
+macro(add_llvm_tool name)
+  llvm_add_tool(LLVM ${ARGV})
+endmacro()
 
 
 macro(add_llvm_example name)
@@ -2011,7 +2015,7 @@ function(llvm_install_library_symlink name dest type)
 
 endfunction()
 
-function(llvm_install_symlink name dest)
+function(llvm_install_symlink project name dest)
   get_property(LLVM_DRIVER_TOOLS GLOBAL PROPERTY LLVM_DRIVER_TOOLS)
   if(LLVM_TOOL_LLVM_DRIVER_BUILD AND ${dest} IN_LIST LLVM_DRIVER_TOOLS)
     set_property(GLOBAL APPEND PROPERTY LLVM_DRIVER_TOOL_SYMLINKS ${name})
@@ -2042,7 +2046,7 @@ function(llvm_install_symlink name dest)
   endif()
 
   install(SCRIPT ${INSTALL_SYMLINK}
-          CODE "install_symlink(${full_name} ${full_dest} ${LLVM_TOOLS_INSTALL_DIR})"
+          CODE "install_symlink(${full_name} ${full_dest} ${${project}_TOOLS_INSTALL_DIR})"
           COMPONENT ${component})
 
   if (NOT LLVM_ENABLE_IDE AND NOT ARG_ALWAYS_GENERATE)
@@ -2053,7 +2057,7 @@ function(llvm_install_symlink name dest)
   endif()
 endfunction()
 
-function(add_llvm_tool_symlink link_name target)
+function(llvm_add_tool_symlink project link_name target)
   cmake_parse_arguments(ARG "ALWAYS_GENERATE" "OUTPUT_DIR" "" ${ARGN})
 
   get_property(LLVM_DRIVER_TOOLS GLOBAL PROPERTY LLVM_DRIVER_TOOLS)
@@ -2135,11 +2139,15 @@ function(add_llvm_tool_symlink link_name target)
     endif()
 
     if ((TOOL_IS_TOOLCHAIN OR NOT LLVM_INSTALL_TOOLCHAIN_ONLY) AND LLVM_BUILD_TOOLS)
-      llvm_install_symlink(${link_name} ${target})
+      llvm_install_symlink("${project}" ${link_name} ${target})
     endif()
   endif()
 endfunction()
 
+function(add_llvm_tool_symlink link_name target)
+  llvm_add_tool_symlink(LLVM ${ARGV})
+endfunction()
+
 function(llvm_externalize_debuginfo name)
   if(NOT LLVM_EXTERNALIZE_DEBUGINFO)
     return()

diff  --git a/llvm/cmake/modules/CMakeLists.txt b/llvm/cmake/modules/CMakeLists.txt
index c77d30c82de9a..42bf5bc0feeba 100644
--- a/llvm/cmake/modules/CMakeLists.txt
+++ b/llvm/cmake/modules/CMakeLists.txt
@@ -131,7 +131,6 @@ list(REMOVE_DUPLICATES LLVM_CONFIG_LIBRARY_DIRS)
 
 set(LLVM_CONFIG_BINARY_DIR "\${LLVM_INSTALL_PREFIX}")
 extend_path(LLVM_CONFIG_CMAKE_DIR "\${LLVM_INSTALL_PREFIX}" "${LLVM_INSTALL_PACKAGE_DIR}")
-extend_path(LLVM_CONFIG_TOOLS_BINARY_DIR "\${LLVM_INSTALL_PREFIX}" "${LLVM_TOOLS_INSTALL_DIR}")
 
 # Generate a default location for lit
 if (LLVM_INSTALL_UTILS AND LLVM_BUILD_UTILS)

diff  --git a/llvm/cmake/modules/LLVMConfig.cmake.in b/llvm/cmake/modules/LLVMConfig.cmake.in
index 71a2a856def6b..fbf28d36bedf4 100644
--- a/llvm/cmake/modules/LLVMConfig.cmake.in
+++ b/llvm/cmake/modules/LLVMConfig.cmake.in
@@ -127,7 +127,6 @@ set(LLVM_DEFINITIONS "@LLVM_DEFINITIONS@")
 set(LLVM_BINARY_DIR "@LLVM_CONFIG_BINARY_DIR@")
 set(LLVM_CMAKE_DIR "@LLVM_CONFIG_CMAKE_DIR@")
 set(LLVM_TOOLS_BINARY_DIR "@LLVM_CONFIG_TOOLS_BINARY_DIR@")
-set(LLVM_TOOLS_INSTALL_DIR "@LLVM_TOOLS_INSTALL_DIR@")
 set(LLVM_HAVE_OPT_VIEWER_MODULES @LLVM_HAVE_OPT_VIEWER_MODULES@)
 set(LLVM_CONFIGURATION_TYPES @CMAKE_CONFIGURATION_TYPES@)
 set(LLVM_ENABLE_SHARED_LIBS @BUILD_SHARED_LIBS@)

diff  --git a/llvm/cmake/modules/TableGen.cmake b/llvm/cmake/modules/TableGen.cmake
index 5e58cbf6a72c9..4711456776c86 100644
--- a/llvm/cmake/modules/TableGen.cmake
+++ b/llvm/cmake/modules/TableGen.cmake
@@ -196,7 +196,7 @@ macro(add_tablegen target project)
     install(TARGETS ${target}
             ${export_to_llvmexports}
             COMPONENT ${target}
-            RUNTIME DESTINATION ${LLVM_TOOLS_INSTALL_DIR})
+            RUNTIME DESTINATION "${${project}_TOOLS_INSTALL_DIR}")
     if(NOT LLVM_ENABLE_IDE)
       add_llvm_install_targets("install-${target}"
                                DEPENDS ${target}

diff  --git a/mlir/CMakeLists.txt b/mlir/CMakeLists.txt
index 35d68bdfc0abe..3ea0be3e6b05c 100644
--- a/mlir/CMakeLists.txt
+++ b/mlir/CMakeLists.txt
@@ -32,6 +32,10 @@ if(MLIR_STANDALONE_BUILD)
   set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/bin")
 endif()
 
+set(MLIR_TOOLS_INSTALL_DIR "${CMAKE_INSTALL_BINDIR}" CACHE PATH
+    "Path for binary subdirectory (defaults to '${CMAKE_INSTALL_BINDIR}')")
+mark_as_advanced(MLIR_TOOLS_INSTALL_DIR)
+
 set(MLIR_MAIN_SRC_DIR     ${CMAKE_CURRENT_SOURCE_DIR}  )
 set(MLIR_MAIN_INCLUDE_DIR ${MLIR_MAIN_SRC_DIR}/include )
 

diff  --git a/mlir/cmake/modules/AddMLIR.cmake b/mlir/cmake/modules/AddMLIR.cmake
index 3d1d4d2e948e9..eba0243727ddc 100644
--- a/mlir/cmake/modules/AddMLIR.cmake
+++ b/mlir/cmake/modules/AddMLIR.cmake
@@ -351,6 +351,10 @@ function(add_mlir_library name)
   endif()
 endfunction(add_mlir_library)
 
+macro(add_mlir_tool name)
+  llvm_add_tool(MLIR ${ARGV})
+endmacro()
+
 # Sets a variable with a transformed list of link libraries such individual
 # libraries will be dynamically excluded when evaluated on a final library
 # which defines an MLIR_AGGREGATE_EXCLUDE_LIBS which contains any of the

diff  --git a/mlir/tools/mlir-cpu-runner/CMakeLists.txt b/mlir/tools/mlir-cpu-runner/CMakeLists.txt
index f658d295d85eb..092ef1b0b7c70 100644
--- a/mlir/tools/mlir-cpu-runner/CMakeLists.txt
+++ b/mlir/tools/mlir-cpu-runner/CMakeLists.txt
@@ -5,7 +5,7 @@ set(LLVM_LINK_COMPONENTS
   native
   )
 
-add_llvm_tool(mlir-cpu-runner
+add_mlir_tool(mlir-cpu-runner
   mlir-cpu-runner.cpp
   )
 llvm_update_compile_flags(mlir-cpu-runner)

diff  --git a/mlir/tools/mlir-linalg-ods-gen/CMakeLists.txt b/mlir/tools/mlir-linalg-ods-gen/CMakeLists.txt
index 15e745f612b11..88ab69f476234 100644
--- a/mlir/tools/mlir-linalg-ods-gen/CMakeLists.txt
+++ b/mlir/tools/mlir-linalg-ods-gen/CMakeLists.txt
@@ -4,7 +4,7 @@ set(LLVM_LINK_COMPONENTS
   )
 
 # New mlir-linalg-ods-yaml-gen.
-add_llvm_tool(mlir-linalg-ods-yaml-gen
+add_mlir_tool(mlir-linalg-ods-yaml-gen
   mlir-linalg-ods-yaml-gen.cpp
 )
 llvm_update_compile_flags(mlir-linalg-ods-yaml-gen)

diff  --git a/mlir/tools/mlir-lsp-server/CMakeLists.txt b/mlir/tools/mlir-lsp-server/CMakeLists.txt
index 14aa124676158..d1c1ea99bc000 100644
--- a/mlir/tools/mlir-lsp-server/CMakeLists.txt
+++ b/mlir/tools/mlir-lsp-server/CMakeLists.txt
@@ -42,7 +42,7 @@ set(LIBS
   MLIRIR
   )
 
-add_llvm_tool(mlir-lsp-server
+add_mlir_tool(mlir-lsp-server
   mlir-lsp-server.cpp
 
   DEPENDS

diff  --git a/mlir/tools/mlir-opt/CMakeLists.txt b/mlir/tools/mlir-opt/CMakeLists.txt
index 97b082e83e5da..87acd7361b73b 100644
--- a/mlir/tools/mlir-opt/CMakeLists.txt
+++ b/mlir/tools/mlir-opt/CMakeLists.txt
@@ -65,7 +65,7 @@ add_mlir_library(MLIRMlirOptMain
   ${LIBS}
   )
 
-add_llvm_tool(mlir-opt
+add_mlir_tool(mlir-opt
   mlir-opt.cpp
 
   DEPENDS

diff  --git a/mlir/tools/mlir-pdll-lsp-server/CMakeLists.txt b/mlir/tools/mlir-pdll-lsp-server/CMakeLists.txt
index 901c0a40fcf83..4dfcd13a65857 100644
--- a/mlir/tools/mlir-pdll-lsp-server/CMakeLists.txt
+++ b/mlir/tools/mlir-pdll-lsp-server/CMakeLists.txt
@@ -2,7 +2,7 @@ set(LIBS
   MLIRPdllLspServerLib
   )
 
-add_llvm_tool(mlir-pdll-lsp-server
+add_mlir_tool(mlir-pdll-lsp-server
   mlir-pdll-lsp-server.cpp
 
   DEPENDS

diff  --git a/mlir/tools/mlir-reduce/CMakeLists.txt b/mlir/tools/mlir-reduce/CMakeLists.txt
index 8893316f53b8c..8549dbf805f54 100644
--- a/mlir/tools/mlir-reduce/CMakeLists.txt
+++ b/mlir/tools/mlir-reduce/CMakeLists.txt
@@ -17,7 +17,7 @@ set(LIBS
   MLIRReduceLib
   )
 
-add_llvm_tool(mlir-reduce
+add_mlir_tool(mlir-reduce
   mlir-reduce.cpp
 
   DEPENDS

diff  --git a/mlir/tools/mlir-spirv-cpu-runner/CMakeLists.txt b/mlir/tools/mlir-spirv-cpu-runner/CMakeLists.txt
index cfbc5463e6d3a..7da9e2ffa78a8 100644
--- a/mlir/tools/mlir-spirv-cpu-runner/CMakeLists.txt
+++ b/mlir/tools/mlir-spirv-cpu-runner/CMakeLists.txt
@@ -5,7 +5,7 @@ set(LLVM_LINK_COMPONENTS
 if (MLIR_ENABLE_SPIRV_CPU_RUNNER)
   message(STATUS "Building SPIR-V CPU runner")
 
-  add_llvm_tool(mlir-spirv-cpu-runner
+  add_mlir_tool(mlir-spirv-cpu-runner
     mlir-spirv-cpu-runner.cpp
   )
 

diff  --git a/mlir/tools/mlir-translate/CMakeLists.txt b/mlir/tools/mlir-translate/CMakeLists.txt
index e105cf8996fde..a78131b8c356c 100644
--- a/mlir/tools/mlir-translate/CMakeLists.txt
+++ b/mlir/tools/mlir-translate/CMakeLists.txt
@@ -5,7 +5,7 @@ set(LLVM_LINK_COMPONENTS
 get_property(dialect_libs GLOBAL PROPERTY MLIR_DIALECT_LIBS)
 get_property(translation_libs GLOBAL PROPERTY MLIR_TRANSLATION_LIBS)
 
-add_llvm_tool(mlir-translate
+add_mlir_tool(mlir-translate
   mlir-translate.cpp
   )
 llvm_update_compile_flags(mlir-translate)

diff  --git a/mlir/tools/mlir-vulkan-runner/CMakeLists.txt b/mlir/tools/mlir-vulkan-runner/CMakeLists.txt
index be4883ba0b4f5..bf1d8ebf4a8b4 100644
--- a/mlir/tools/mlir-vulkan-runner/CMakeLists.txt
+++ b/mlir/tools/mlir-vulkan-runner/CMakeLists.txt
@@ -88,7 +88,7 @@ if (MLIR_ENABLE_VULKAN_RUNNER)
     LIST(APPEND targets_to_link "LLVM${t}")
   ENDFOREACH(t)
 
-  add_llvm_tool(mlir-vulkan-runner
+  add_mlir_tool(mlir-vulkan-runner
     mlir-vulkan-runner.cpp
 
     DEPENDS

diff  --git a/mlir/tools/tblgen-lsp-server/CMakeLists.txt b/mlir/tools/tblgen-lsp-server/CMakeLists.txt
index 35754573a0426..a96fa41180e09 100644
--- a/mlir/tools/tblgen-lsp-server/CMakeLists.txt
+++ b/mlir/tools/tblgen-lsp-server/CMakeLists.txt
@@ -2,7 +2,7 @@ set(LIBS
   TableGenLspServerLib
   )
 
-add_llvm_tool(tblgen-lsp-server
+add_mlir_tool(tblgen-lsp-server
   tblgen-lsp-server.cpp
 
   DEPENDS

diff  --git a/openmp/libomptarget/tools/CMakeLists.txt b/openmp/libomptarget/tools/CMakeLists.txt
index ca5e785ab4cc9..9237035c46580 100644
--- a/openmp/libomptarget/tools/CMakeLists.txt
+++ b/openmp/libomptarget/tools/CMakeLists.txt
@@ -10,4 +10,18 @@
 #
 ##===----------------------------------------------------------------------===##
 
+set(OPENMP_TOOLS_INSTALL_DIR "${CMAKE_INSTALL_BINDIR}" CACHE PATH
+    "Path for binary subdirectory (defaults to '${CMAKE_INSTALL_BINDIR}')")
+mark_as_advanced(OPENMP_TOOLS_INSTALL_DIR)
+
+# Move these macros to AddOpenMP if such a CMake module is ever created.
+
+macro(add_openmp_tool name)
+  llvm_add_tool(OPENMP ${ARGV})
+endmacro()
+
+macro(add_openmp_tool_symlink name)
+  llvm_add_tool_symlink(OPENMP ${ARGV})
+endmacro()
+
 add_subdirectory(deviceinfo)

diff  --git a/openmp/libomptarget/tools/deviceinfo/CMakeLists.txt b/openmp/libomptarget/tools/deviceinfo/CMakeLists.txt
index 290fc8346923c..62d36d7cc92f0 100644
--- a/openmp/libomptarget/tools/deviceinfo/CMakeLists.txt
+++ b/openmp/libomptarget/tools/deviceinfo/CMakeLists.txt
@@ -12,7 +12,7 @@
 
 libomptarget_say("Building the llvm-omp-device-info tool")
 
-add_llvm_tool(llvm-omp-device-info llvm-omp-device-info.cpp)
+add_openmp_tool(llvm-omp-device-info llvm-omp-device-info.cpp)
 
 llvm_update_compile_flags(llvm-omp-device-info)
 


        


More information about the llvm-commits mailing list