llvm-project/mlir/tools/mlir-vulkan-runner
John Ericson 07b749800c [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 d0e1c2a550 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
2022-07-21 19:04:00 +00:00
..
CMakeLists.txt [cmake] Don't export `LLVM_TOOLS_INSTALL_DIR` anymore 2022-07-21 19:04:00 +00:00
VulkanRuntime.cpp [mlir][vulkan-runner] fix VK_ERROR_INCOMPATIBLE_DRIVER error 2022-06-22 19:36:35 -04:00
VulkanRuntime.h [mlir][vulkan-runner] Make vulkan runner use GPU device memory 2020-06-26 08:03:06 -07:00
mlir-vulkan-runner.cpp [mlir] replace 'emit_c_wrappers' func->llvm conversion option with a pass 2022-06-17 11:10:31 +02:00
vulkan-runtime-wrappers.cpp [mlir] Export CUDA and Vulkan runtime wrappers on Windows 2021-02-21 22:58:55 -08:00