Skip to content

Commit

Permalink
Merge pull request #705 from hvdijk/libdir-suffix
Browse files Browse the repository at this point in the history
Add CA_LLVM_LIBDIR_SUFFIX.
  • Loading branch information
hvdijk authored Mar 7, 2025
2 parents c64a6b1 + e024afe commit aa11fc8
Show file tree
Hide file tree
Showing 5 changed files with 15 additions and 12 deletions.
14 changes: 7 additions & 7 deletions cmake/ImportLLVM.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -47,20 +47,20 @@ endif()
# Add our cmake modules directory to the cmake include path including
# LLVM/Clang.
string(REPLACE "\\" "/" CA_LLVM_INSTALL_DIR "${CA_LLVM_INSTALL_DIR}")
if(NOT EXISTS "${CA_LLVM_INSTALL_DIR}/lib/cmake/llvm/LLVMConfig.cmake")
if(NOT EXISTS "${CA_LLVM_INSTALL_DIR}/lib${CA_LLVM_LIBDIR_SUFFIX}/cmake/llvm/LLVMConfig.cmake")
message(FATAL_ERROR
"'${CA_LLVM_INSTALL_DIR}/lib/cmake/llvm/LLVMConfig.cmake' does not exist"
"'${CA_LLVM_INSTALL_DIR}/lib${CA_LLVM_LIBDIR_SUFFIX}/cmake/llvm/LLVMConfig.cmake' does not exist"
" (search path set with CA_LLVM_INSTALL_DIR)")
endif()
if(NOT EXISTS "${CA_LLVM_INSTALL_DIR}/lib/cmake/clang/ClangTargets.cmake")
if(NOT EXISTS "${CA_LLVM_INSTALL_DIR}/lib${CA_LLVM_LIBDIR_SUFFIX}/cmake/clang/ClangTargets.cmake")
message(FATAL_ERROR
"'${CA_LLVM_INSTALL_DIR}/lib/cmake/clang/ClangTargets.cmake' does not exist"
"'${CA_LLVM_INSTALL_DIR}/lib${CA_LLVM_LIBDIR_SUFFIX}/cmake/clang/ClangTargets.cmake' does not exist"
" (search path set with CA_LLVM_INSTALL_DIR)")
endif()
list(APPEND CMAKE_MODULE_PATH
${CA_LLVM_INSTALL_DIR}/lib/cmake/llvm
${CA_LLVM_INSTALL_DIR}/lib/cmake/clang)
set(LLVM_DIR ${CA_LLVM_INSTALL_DIR}/lib/cmake/llvm)
${CA_LLVM_INSTALL_DIR}/lib${CA_LLVM_LIBDIR_SUFFIX}/cmake/llvm
${CA_LLVM_INSTALL_DIR}/lib${CA_LLVM_LIBDIR_SUFFIX}/cmake/clang)
set(LLVM_DIR ${CA_LLVM_INSTALL_DIR}/lib${CA_LLVM_LIBDIR_SUFFIX}/cmake/llvm)

# Include LLVM.
include(LLVMConfig)
Expand Down
3 changes: 3 additions & 0 deletions doc/developer-guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -253,6 +253,9 @@ The builtin CMake options used when invoking CMake on the command line.
relevant llvm headers and support tools, and their version must match
a supported LLVM version.

* `CA_LLVM_LIBDIR_SUFFIX`: Tells the oneAPI Construction Kit what value of
`LLVM_LIBDIR_SUFFIX` was used for building LLVM.

* `CA_ENABLE_API`: Semi-colon separated list of APIs to enable. Valid values
are `cl` for OpenCL, and `vk` for Vulkan. Enabling an API when an optional
component is not present dependent on license agreement will result in a CMake
Expand Down
2 changes: 1 addition & 1 deletion modules/compiler/riscv/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ if (LLVMRISCVCODEGEN)

if(NOT TARGET compiler-linker-utils)
set(error "compiler-riscv-utils requires compiler-linker-utils")
if(NOT EXISTS "${CA_LLVM_INSTALL_DIR}/lib/cmake/lld/LLDConfig.cmake")
if(NOT EXISTS "${CA_LLVM_INSTALL_DIR}/lib${CA_LLVM_LIBDIR_SUFFIX}/cmake/lld/LLDConfig.cmake")
string(APPEND error " which requires liblld")
endif()
message(FATAL_ERROR "${error}")
Expand Down
2 changes: 1 addition & 1 deletion modules/compiler/source/base/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@ set(LLVM_LIBS "LLVMCodeGen" "LLVMCoroutines" "LLVMCoverage"
# Otherwise, we have to provide the full path to them.
if(NOT OCK_IN_LLVM_TREE)
list(TRANSFORM CLANG_LIBS
PREPEND "${CA_LLVM_INSTALL_DIR}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}")
PREPEND "${CA_LLVM_INSTALL_DIR}/lib${CA_LLVM_LIBDIR_SUFFIX}/${CMAKE_STATIC_LIBRARY_PREFIX}")
list(TRANSFORM CLANG_LIBS
APPEND "${CMAKE_STATIC_LIBRARY_SUFFIX}")
endif()
Expand Down
6 changes: 3 additions & 3 deletions modules/compiler/utils/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -40,8 +40,8 @@ endif()

# Determine whether LLVM was built with LLD, in which case add a support
# library that exposes lld to ComputeMux compiler targets.
if(EXISTS "${CA_LLVM_INSTALL_DIR}/lib/cmake/lld/LLDConfig.cmake")
list(APPEND CMAKE_MODULE_PATH ${CA_LLVM_INSTALL_DIR}/lib/cmake/lld)
if(EXISTS "${CA_LLVM_INSTALL_DIR}/lib${CA_LLVM_LIBDIR_SUFFIX}/cmake/lld/LLDConfig.cmake")
list(APPEND CMAKE_MODULE_PATH ${CA_LLVM_INSTALL_DIR}/lib${CA_LLVM_LIBDIR_SUFFIX}/cmake/lld)
include(LLDConfig)

add_ca_library(compiler-linker-utils STATIC
Expand Down Expand Up @@ -71,7 +71,7 @@ if(EXISTS "${CA_LLVM_INSTALL_DIR}/lib/cmake/lld/LLDConfig.cmake")

if(NOT OCK_IN_LLVM_TREE)
list(TRANSFORM LLD_LIBS
PREPEND "${CA_LLVM_INSTALL_DIR}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}")
PREPEND "${CA_LLVM_INSTALL_DIR}/lib${CA_LLVM_LIBDIR_SUFFIX}/${CMAKE_STATIC_LIBRARY_PREFIX}")
list(TRANSFORM LLD_LIBS
APPEND "${CMAKE_STATIC_LIBRARY_SUFFIX}")
endif()
Expand Down

0 comments on commit aa11fc8

Please sign in to comment.