From ca679384c2022cf2ba69fcd8f577920d2b33df33 Mon Sep 17 00:00:00 2001 From: Yang Chen Date: Wed, 28 Feb 2024 16:27:33 -0800 Subject: [PATCH] [rocm][cmake] correctly check the ROCM_SOURCE_DIR environment (#120858) The existing use of "if(NOT ENV{ROCM_SOURCE_DIR})" seems to be not working correctly, e.g. ``` $ cmake --version cmake version 3.26.4 $ cat CMakeList.txt cmake_minimum_required(VERSION 3.18 FATAL_ERROR) project(FOO) if(NOT ENV{ROCM_SOURCE_DIR}) message(INFO ": not defined 1") else() message(INFO ": defined 1: $ENV{ROCM_SOURCE_DIR}") endif() if("$ENV{ROCM_SOURCE_DIR}" STREQUAL "") message(INFO ": not defined 2") else() message(INFO ": defined 2: $ENV{ROCM_SOURCE_DIR}") endif() $ ROCM_SOURCE_DIR=/tmp cmake . INFO: not defined 1 INFO: defined 2: /tmp -- Configuring done (0.0s) -- Generating done (0.0s) -- Build files have been written to: /home/yangche/tmp/tmp ``` This PR replace it with a STREQUAL check. Note that the choice of STREQUAL is to avoid cases like: ``` $ ROCM_SOURCE_DIR= cmake . ``` Pull Request resolved: https://github.com/pytorch/pytorch/pull/120858 Approved by: https://github.com/jianyuh, https://github.com/jeffdaily --- cmake/Dependencies.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/Dependencies.cmake b/cmake/Dependencies.cmake index b7ffbeb07dcf..7b69872518b9 100644 --- a/cmake/Dependencies.cmake +++ b/cmake/Dependencies.cmake @@ -1960,7 +1960,7 @@ if(USE_KINETO) endif() if(NOT LIBKINETO_NOROCTRACER) - if(NOT ENV{ROCM_SOURCE_DIR}) + if("$ENV{ROCM_SOURCE_DIR}" STREQUAL "") set(ENV{ROCM_SOURCE_DIR} "/opt/rocm") endif() endif()