diff --git a/projects/hip/hip-config.cmake.in b/projects/hip/hip-config.cmake.in index e663450930..859e2fa0fc 100644 --- a/projects/hip/hip-config.cmake.in +++ b/projects/hip/hip-config.cmake.in @@ -51,8 +51,11 @@ set_and_check(hip_HIPCC_EXECUTABLE "${hip_BIN_INSTALL_DIR}/hipcc") set_and_check(hip_HIPCONFIG_EXECUTABLE "${hip_BIN_INSTALL_DIR}/hipconfig") if(HIP_COMPILER STREQUAL "clang") - if(CMAKE_CXX_COMPILER MATCHES ".*hipcc") - execute_process(COMMAND ${CMAKE_CXX_COMPILER} --version + if(NOT HIP_CXX_COMPILER) + set(HIP_CXX_COMPILER ${CMAKE_CXX_COMPILER}) + endif() + if(HIP_CXX_COMPILER MATCHES ".*hipcc") + execute_process(COMMAND ${HIP_CXX_COMPILER} --version OUTPUT_STRIP_TRAILING_WHITESPACE OUTPUT_VARIABLE HIP_CLANG_CXX_COMPILER_VERSION_OUTPUT) if(HIP_CLANG_CXX_COMPILER_VERSION_OUTPUT MATCHES "InstalledDir:[\t\r\n][\t\r\n]*([^\t\r\n])") @@ -60,9 +63,11 @@ if(HIP_COMPILER STREQUAL "clang") else() set(HIP_CLANG_ROOT /opt/rocm/llvm) endif() - else() - get_filename_component(HIP_CLANG_ROOT "${CMAKE_CXX_COMPILER}" PATH) + elseif (HIP_CXX_COMPILER MATCHES ".*clang\\+\\+") + get_filename_component(HIP_CLANG_ROOT "${HIP_CXX_COMPILER}" PATH) get_filename_component(HIP_CLANG_ROOT "${HIP_CLANG_ROOT}" PATH) + else() + set(HIP_CLANG_ROOT /opt/rocm/llvm) endif() file(GLOB HIP_CLANG_INCLUDE_SEARCH_PATHS ${HIP_CLANG_ROOT}/lib/clang/*/include) find_path(HIP_CLANG_INCLUDE_PATH stddef.h @@ -137,6 +142,12 @@ if(HIP_COMPILER STREQUAL "clang") INTERFACE_COMPILE_OPTIONS -x hip --hip-device-lib-path=${AMD_DEVICE_LIBS_PREFIX}/lib ) + if (HIP_CXX_COMPILER MATCHES ".*clang\\+\\+") + set_property(TARGET hip::device APPEND PROPERTY + INTERFACE_COMPILE_OPTIONS -mllvm -amdgpu-early-inline-all=true -mllvm -amdgpu-function-calls=false + ) + endif() + set_property(TARGET hip::device APPEND PROPERTY INTERFACE_LINK_LIBRARIES --hip-device-lib-path=${AMD_DEVICE_LIBS_PREFIX}/lib --hip-link )