diff --git a/CMakeLists.txt b/CMakeLists.txt index 7f79d1c945..8eae8014b3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -30,6 +30,13 @@ elseif(ROCM_PATH) else() set(ROCM_PATH /opt/rocm CACHE PATH "Default ROCm installation path") endif() + +# Check if lib/rocm_sysdeps/lib exists in the ROCm path which indicates ROCm installation via TheRock +set(USING_THE_ROCK OFF) +if(EXISTS "${ROCM_PATH}/lib/rocm_sysdeps/lib") + set(USING_THE_ROCK ON) +endif() + # Set AMD Clang as default compiler set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED On) @@ -111,15 +118,6 @@ find_package(HIP QUIET) find_package(Libva QUIET) find_package(Libdrm_amdgpu QUIET) -# Check if lib/rocm_sysdeps/lib exists in the libdrm_amdgpu library path which indicates ROCm installation via TheRock -set(USING_THE_ROCK OFF) -if(LIBDRM_AMDGPU_LIBRARY) - string(FIND "${LIBDRM_AMDGPU_LIBRARY}" "lib/rocm_sysdeps/lib" ROCM_SYSDEPS_FOUND) - if(NOT ROCM_SYSDEPS_FOUND EQUAL -1) - set(USING_THE_ROCK ON) - endif() -endif() - # Find Ubuntu 22.04 file(READ "/etc/os-release" OS_RELEASE) string(REGEX MATCH "22.04" UBUNTU_22_FOUND ${OS_RELEASE}) diff --git a/samples/videoDecodeRGB/CMakeLists.txt b/samples/videoDecodeRGB/CMakeLists.txt index 0e5785fe54..df1cb4ee7a 100644 --- a/samples/videoDecodeRGB/CMakeLists.txt +++ b/samples/videoDecodeRGB/CMakeLists.txt @@ -30,6 +30,20 @@ elseif(ROCM_PATH) else() set(ROCM_PATH /opt/rocm CACHE PATH "Default ROCm installation path") endif() + +# Check if lib/rocm_sysdeps/lib exists in the ROCm path which indicates ROCm installation via TheRock +set(USING_THE_ROCK OFF) +if(EXISTS "${ROCM_PATH}/lib/rocm_sysdeps/lib") + set(USING_THE_ROCK ON) +endif() + +if(USING_THE_ROCK) + if(NOT DEFINED ENV{HIP_DEVICE_LIB_PATH}) + set(ENV{HIP_DEVICE_LIB_PATH} ${ROCM_PATH}/lib/llvm/amdgcn/bitcode) + set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE "HIP_DEVICE_LIB_PATH=${ROCM_PATH}/lib/llvm/amdgcn/bitcode") + endif() +endif() + # Set AMD Clang as default compiler set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED On)