From e45c56c0f8bc1771983ad1b12617df7663436d7a Mon Sep 17 00:00:00 2001 From: Gerardo Hernandez Date: Fri, 26 Sep 2025 14:50:57 +0100 Subject: [PATCH] SWDEV-1 - if hipconfig process invocation by cmake fails, produce a readable error and abort * SWDEV-1 - if platform auto-detection via hipconfig fails, provide a meaningful error and do not try to parse the output * SWDEV-1 - if getting HIP_VERSION via hipconfig fails, provide a meaningful error and do not try to parse the output --- projects/clr/CMakeLists.txt | 6 ++++++ projects/hip-tests/catch/CMakeLists.txt | 5 +++++ 2 files changed, 11 insertions(+) diff --git a/projects/clr/CMakeLists.txt b/projects/clr/CMakeLists.txt index 1d9c4fd6be..823c6dc0a9 100644 --- a/projects/clr/CMakeLists.txt +++ b/projects/clr/CMakeLists.txt @@ -86,7 +86,13 @@ function(_hip_clr_auto_detect_hip_platform) if(NOT DEFINED ENV{HIP_PLATFORM}) execute_process(COMMAND ${HIPCC_BIN_DIR}/${HIPCONFIG_EXECUTABLE} --platform OUTPUT_VARIABLE _detected_hip_platform + RESULT_VARIABLE result OUTPUT_STRIP_TRAILING_WHITESPACE) + + if(result AND NOT result EQUAL 0) + message(FATAL_ERROR "Failure trying to auto-detect HIP_PLATFORM via command: ${HIPCC_BIN_DIR}/${HIPCONFIG_EXECUTABLE} --platform: ${result}") + endif() + set(HIP_PLATFORM "${_detected_hip_platform}" PARENT_SCOPE) else() set(HIP_PLATFORM "$ENV{HIP_PLATFORM}" PARENT_SCOPE) diff --git a/projects/hip-tests/catch/CMakeLists.txt b/projects/hip-tests/catch/CMakeLists.txt index 2431d2a2bd..04959dd385 100644 --- a/projects/hip-tests/catch/CMakeLists.txt +++ b/projects/hip-tests/catch/CMakeLists.txt @@ -75,8 +75,13 @@ set(CMAKE_C_COMPILER "${HIP_PATH}/bin/${HIPCC_EXEC}") set(CMAKE_CXX_COMPILER "${HIP_PATH}/bin/${HIPCC_EXEC}") execute_process(COMMAND ${HIP_PATH}/bin/${HIPCONFIG_EXEC} --version OUTPUT_VARIABLE HIP_VERSION + RESULT_VARIABLE result OUTPUT_STRIP_TRAILING_WHITESPACE) +if(result AND NOT result EQUAL 0) + message(FATAL_ERROR "Failure trying to obtain HIP version via command: ${HIP_PATH}/bin/${HIPCONFIG_EXEC} --version: ${result}") +endif() + if(NOT WIN32) if(NOT BUILD_SHARED_LIBS) list(APPEND CMAKE_PREFIX_PATH ${ROCM_PATH} ${ROCM_PATH}/llvm)