From 07b749800c5cd4105d49ab46be5f0a2079dd709a Mon Sep 17 00:00:00 2001 From: John Ericson Date: Sat, 11 Jun 2022 06:11:59 +0000 Subject: [PATCH] [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 --- bolt/tools/CMakeLists.txt | 14 ++++++++++++++ bolt/tools/driver/CMakeLists.txt | 6 +++--- bolt/tools/heatmap/CMakeLists.txt | 2 +- bolt/tools/merge-fdata/CMakeLists.txt | 2 +- clang/CMakeLists.txt | 4 ++++ clang/cmake/modules/AddClang.cmake | 4 ++-- flang/CMakeLists.txt | 5 +++++ flang/cmake/modules/AddFlang.cmake | 4 ++-- lld/CMakeLists.txt | 4 ++++ lld/cmake/modules/AddLLD.cmake | 4 ++-- llvm/cmake/modules/AddLLVM.cmake | 22 +++++++++++++++------- llvm/cmake/modules/CMakeLists.txt | 1 - llvm/cmake/modules/LLVMConfig.cmake.in | 1 - llvm/cmake/modules/TableGen.cmake | 2 +- mlir/CMakeLists.txt | 4 ++++ mlir/cmake/modules/AddMLIR.cmake | 4 ++++ mlir/tools/mlir-cpu-runner/CMakeLists.txt | 2 +- mlir/tools/mlir-linalg-ods-gen/CMakeLists.txt | 2 +- mlir/tools/mlir-lsp-server/CMakeLists.txt | 2 +- mlir/tools/mlir-opt/CMakeLists.txt | 2 +- mlir/tools/mlir-pdll-lsp-server/CMakeLists.txt | 2 +- mlir/tools/mlir-reduce/CMakeLists.txt | 2 +- mlir/tools/mlir-spirv-cpu-runner/CMakeLists.txt | 2 +- mlir/tools/mlir-translate/CMakeLists.txt | 2 +- mlir/tools/mlir-vulkan-runner/CMakeLists.txt | 2 +- mlir/tools/tblgen-lsp-server/CMakeLists.txt | 2 +- openmp/libomptarget/tools/CMakeLists.txt | 14 ++++++++++++++ .../libomptarget/tools/deviceinfo/CMakeLists.txt | 2 +- 28 files changed, 87 insertions(+), 32 deletions(-) diff --git a/bolt/tools/CMakeLists.txt b/bolt/tools/CMakeLists.txt index 1fe8514..91b00a5 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 2338cce..e56be15 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-boltdiff llvm-bolt) +add_bolt_tool_symlink(perf2bolt llvm-bolt) +add_bolt_tool_symlink(llvm-boltdiff llvm-bolt) set(BOLT_DEPENDS llvm-bolt diff --git a/bolt/tools/heatmap/CMakeLists.txt b/bolt/tools/heatmap/CMakeLists.txt index 820b268..cb8e7ee 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 2de2ede..08b2e65 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 191f4f2..c27beec 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 0b3c64c..21ac332 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 e6ebd26..7e0aec2 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 f6fc2ac..7c71d2b 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 ec11de7..dcc6496 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 dd2898c..d3924f7 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 dc0d74e..22076d4 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 c77d30c..42bf5bc 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 71a2a85..fbf28d3 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 5e58cbf..4711456 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 35d68bd..3ea0be3 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 3d1d4d2..eba0243 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 f658d29..092ef1b 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 15e745f6..88ab69f 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 14aa124..d1c1ea9 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 97b082e..87acd73 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 901c0a4..4dfcd13 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 8893316..8549dbf 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 cfbc546..7da9e2f 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 e105cf8..a78131b 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 be4883b..bf1d8eb 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 3575457..a96fa41 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 ca5e785..9237035 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 290fc83..62d36d7 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) -- 2.7.4