|
28 | 28 | # GIT |
29 | 29 |
|
30 | 30 | # Test dependencies |
31 | | - |
| 31 | +include(FetchContent) |
32 | 32 |
|
33 | 33 | # 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}") |
36 | 35 | 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" |
49 | 46 | ) |
| 47 | + FetchContent_MakeAvailable(rocm-cmake) |
| 48 | + find_package(ROCmCMakeBuildTools CONFIG REQUIRED NO_DEFAULT_PATH PATHS "${rocm-cmake_SOURCE_DIR}") |
50 | 49 | 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 ) |
66 | 50 | endif() |
67 | 51 |
|
68 | 52 | # Find available local ROCM targets |
|
0 commit comments