[libclc] Fix LIBCLC_OUTPUT_LIBRARY_DIR when find_package(LLVM) fails (#201816) If we configure llvm from llvm-project/build folder, find_package(LLVM) succeeds, `LLVM_LIBRARY_OUTPUT_INTDIR` is `build/./lib` and `LLVM_BINARY_DIR` is `build`. However, in #201773, find_package(LLVM) fails due to LLVM_LIBDIR_SUFFIX=64, LLVM_LIBRARY_OUTPUT_INTDIR is `redhat-linux-build/runtimes/runtimes-nvptx64-nvidia-cuda-bins/lib64` and LLVM_BINARY_DIR is `redhat-linux-build`. Use LLVM_BINARY_DIR, which is stable for both cases, for libclc output dir. Fixes #201773 GitOrigin-RevId: 517a0755f5d128d950fc8a08b2bd45e629e40a95
diff --git a/CMakeLists.txt b/CMakeLists.txt index 94ec63c..bc36246 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt
@@ -83,9 +83,9 @@ include(GetClangResourceDir) get_clang_resource_dir( LIBCLC_INSTALL_DIR ) cmake_path( APPEND LIBCLC_INSTALL_DIR "lib" ) - - cmake_path( GET LLVM_LIBRARY_OUTPUT_INTDIR PARENT_PATH LIBCLC_OUTPUT_LIBRARY_DIR ) - cmake_path( APPEND LIBCLC_OUTPUT_LIBRARY_DIR ${LIBCLC_INSTALL_DIR} ) + cmake_path( APPEND LLVM_BINARY_DIR ${LIBCLC_INSTALL_DIR} + OUTPUT_VARIABLE LIBCLC_OUTPUT_LIBRARY_DIR + ) endif() if( NOT LIBCLC_USE_SPIRV_BACKEND )