Skip to content

Commit b0a3841

Browse files
authored
[BUILD] Fix logic for rocm-cmake dependency (ROCm#129)
Signed-off-by: nileshnegi <Nilesh.Negi@amd.com>
1 parent 9076091 commit b0a3841

File tree

2 files changed

+15
-31
lines changed

2 files changed

+15
-31
lines changed

‎cmake/Dependencies.cmake‎

Lines changed: 14 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -28,41 +28,25 @@
2828
# GIT
2929

3030
# Test dependencies
31-
31+
include(FetchContent)
3232

3333
# Find or download/install rocm-cmake project
34-
set(PROJECT_EXTERN_DIR ${CMAKE_CURRENT_BINARY_DIR}/extern)
35-
find_package(ROCmCMakeBuildTools 0.7.3 QUIET CONFIG PATHS "${ROCM_PATH}")
34+
find_package(ROCmCMakeBuildTools 0.11.0 CONFIG QUIET PATHS "${ROCM_PATH}")
3635
if(NOT ROCmCMakeBuildTools_FOUND)
37-
set(rocm_cmake_tag "master" CACHE STRING "rocm-cmake tag to download")
38-
file(
39-
DOWNLOAD https://github.com/ROCm/rocm-cmake/archive/${rocm_cmake_tag}.zip
40-
${PROJECT_EXTERN_DIR}/rocm-cmake-${rocm_cmake_tag}.zip
41-
STATUS rocm_cmake_download_status LOG rocm_cmake_download_log
42-
)
43-
list(GET rocm_cmake_download_status 0 rocm_cmake_download_error_code)
44-
if(rocm_cmake_download_error_code)
45-
message(FATAL_ERROR "Error: downloading "
46-
"https://github.com/ROCm/rocm-cmake/archive/${rocm_cmake_tag}.zip failed "
47-
"error_code: ${rocm_cmake_download_error_code} "
48-
"log: ${rocm_cmake_download_log} "
36+
find_package(ROCM 0.7.3 CONFIG QUIET PATHS "${ROCM_PATH}") # deprecated fallback
37+
if(NOT ROCM_FOUND)
38+
message(STATUS "ROCmCMakeBuildTools not found. Fetching...")
39+
set(PROJECT_EXTERN_DIR ${CMAKE_CURRENT_BINARY_DIR}/extern)
40+
set(rocm_cmake_tag "rocm-6.4.0" CACHE STRING "rocm-cmake tag to download")
41+
FetchContent_Declare(
42+
rocm-cmake
43+
GIT_REPOSITORY https://github.com/ROCm/rocm-cmake.git
44+
GIT_TAG ${rocm_cmake_tag}
45+
SOURCE_SUBDIR "DISABLE ADDING TO BUILD"
4946
)
47+
FetchContent_MakeAvailable(rocm-cmake)
48+
find_package(ROCmCMakeBuildTools CONFIG REQUIRED NO_DEFAULT_PATH PATHS "${rocm-cmake_SOURCE_DIR}")
5049
endif()
51-
52-
execute_process(
53-
COMMAND ${CMAKE_COMMAND} -E tar xzf ${PROJECT_EXTERN_DIR}/rocm-cmake-${rocm_cmake_tag}.zip
54-
WORKING_DIRECTORY ${PROJECT_EXTERN_DIR}
55-
RESULT_VARIABLE rocm_cmake_unpack_error_code
56-
)
57-
execute_process( COMMAND ${CMAKE_COMMAND} -DCMAKE_INSTALL_PREFIX=${PROJECT_EXTERN_DIR}/rocm-cmake .
58-
WORKING_DIRECTORY ${PROJECT_EXTERN_DIR}/rocm-cmake-${rocm_cmake_tag} )
59-
execute_process( COMMAND ${CMAKE_COMMAND} --build rocm-cmake-${rocm_cmake_tag} --target install
60-
WORKING_DIRECTORY ${PROJECT_EXTERN_DIR})
61-
62-
if(rocm_cmake_unpack_error_code)
63-
message(FATAL_ERROR "Error: unpacking ${CMAKE_CURRENT_BINARY_DIR}/rocm-cmake-${rocm_cmake_tag}.zip failed")
64-
endif()
65-
find_package(ROCmCMakeBuildTools 0.7.3 REQUIRED CONFIG PATHS ${PROJECT_EXTERN_DIR}/rocm-cmake )
6650
endif()
6751

6852
# Find available local ROCM targets

‎install.sh‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ build_dir=./build
100100
# ensure a clean build environment
101101
rm -rf ${build_dir}
102102

103-
if [[ -n ${rocm_dir} ]]; then
103+
if [[ -z ${rocm_dir} ]]; then
104104
echo "ROCM_PATH does not exist at ${rocm_dir}. Defaulting to /opt/rocm"
105105
rocm_dir=/opt/rocm
106106
fi

0 commit comments

Comments
 (0)