forked from OSchip/llvm-project
OpenMP: Correctly query location for amdgpu-arch
This was trying to figure out the build path for amdgpu-arch, and making assumptions about where it is which were not working on my system. Whether a standalone build or not, we should have a proper imported target to get the location from.
This commit is contained in:
parent
4f215bfa6e
commit
935abeaace
|
@ -98,27 +98,20 @@ target_link_libraries(
|
|||
${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)
|
||||
|
|
Loading…
Reference in New Issue