diff --git a/hipamd/src/hiprtc/CMakeLists.txt b/hipamd/src/hiprtc/CMakeLists.txt index a486e84f84..49e7672994 100644 --- a/hipamd/src/hiprtc/CMakeLists.txt +++ b/hipamd/src/hiprtc/CMakeLists.txt @@ -132,9 +132,25 @@ add_to_config(_versionInfo HIP_VERSION_GITHASH) # Enable preprocessed hiprtc-builtins library include(HIPRTC RESULT_VARIABLE HIPRTC_CMAKE) +# Set binary roots to _ROOT cmake and environment variables similar to CMP0074 +# to allow find_program to use LLVM_ROOT and Clang_ROOT +if(DEFINED ENV{LLVM_ROOT}) + set(ENV_LLVM_BIN $ENV{LLVM_ROOT}/bin) +endif() +if(DEFINED LLVM_ROOT) + set(LLVM_BIN ${LLVM_ROOT}/bin) +endif() + +if(DEFINED ENV{Clang_ROOT}) + set(ENV_Clang_BIN $ENV{Clang_ROOT}/bin) +endif() + +if(DEFINED Clang_ROOT) + set(Clang_BIN ${Clang_ROOT}/bin) +endif() # Requires clang and llvm-mc to create this library. -find_program(clang clang HINTS ${ROCM_PATH}/llvm/bin ${ROCM_PATH}) -find_program(llvm-mc llvm-mc HINTS ${ROCM_PATH}/llvm/bin ${ROCM_PATH}) +find_program(clang clang HINTS ${Clang_BIN} ${ENV_Clang_BIN} ${ROCM_PATH}/llvm/bin ${ROCM_PATH}) +find_program(llvm-mc llvm-mc HINTS ${LLVM_BIN} ${ENV_LLVM_BIN} ${ROCM_PATH}/llvm/bin ${ROCM_PATH}) set(HIPRTC_GEN_DIR "${CMAKE_CURRENT_BINARY_DIR}/hip_rtc_gen") set(HIPRTC_GEN_HEADER "${HIPRTC_GEN_DIR}/hipRTC_header.h") set(HIPRTC_GEN_MCIN "${HIPRTC_GEN_DIR}/hipRTC_header.mcin")