diff --git a/libomptarget/plugins/amdgpu/CMakeLists.txt b/libomptarget/plugins/amdgpu/CMakeLists.txt
index 0b830f6..a7cca99 100644
--- a/libomptarget/plugins/amdgpu/CMakeLists.txt
+++ b/libomptarget/plugins/amdgpu/CMakeLists.txt
@@ -98,27 +98,20 @@
   ${LDFLAGS_UNDEFINED}
   )
 
-if (LLVM_BINARY_DIR)
-  # for in-tree build using LLVM_ENABLE_RUNTIMES
-  set(AMDGPU_ARCH_TOOL "${LLVM_BINARY_DIR}/bin/amdgpu-arch")
-elseif (OPENMP_LLVM_TOOLS_DIR)
-  set(AMDGPU_ARCH_TOOL "${OPENMP_LLVM_TOOLS_DIR}/amdgpu-arch")
-else()
-  set(AMDGPU_ARCH_TOOL "amdgpu-arch")
-endif()
-
 # in case of amdgcn, skip running tests if amdgpu-arch was not built or fails
-if (NOT EXISTS "${AMDGPU_ARCH_TOOL}")
+if (NOT TARGET amdgpu-arch)
   libomptarget_say("Not generating amdgcn test targets as amdgpu-arch is not found")
   return()
 endif()
 
-execute_process(COMMAND "${AMDGPU_ARCH_TOOL}" RESULT_VARIABLE amdgpu_arch_result
-  OUTPUT_VARIABLE amdgpu_arch_output)
+get_property(AMDGPU_ARCH_COMMAND TARGET amdgpu-arch PROPERTY LOCATION)
+
+execute_process(COMMAND ${AMDGPU_ARCH_COMMAND} RESULT_VARIABLE amdgpu_arch_result
+                                               OUTPUT_VARIABLE amdgpu_arch_output)
 if (${amdgpu_arch_result})
   libomptarget_say("Not generating amdgcn test targets as amdgpu-arch exited with ${amdgpu_arch_result}")
-  return()
+else()
+  # Report to the parent scope that we are building a plugin for amdgpu
+  set(LIBOMPTARGET_SYSTEM_TARGETS "${LIBOMPTARGET_SYSTEM_TARGETS} amdgcn-amd-amdhsa" PARENT_SCOPE)
 endif()
 
-# Report to the parent scope that we are building a plugin for amdgpu
-set(LIBOMPTARGET_SYSTEM_TARGETS "${LIBOMPTARGET_SYSTEM_TARGETS} amdgcn-amd-amdhsa" PARENT_SCOPE)
