mirror of
https://github.com/Kitware/CMake.git
synced 2025-12-30 18:29:37 -06:00
FindCUDA: Support cross-compilation to sbsa-linux
Port commit 743d4181b4 (FindCUDAToolkit: Support cross-compilation to
sbsa-linux, 2023-01-11, v3.26.0-rc1~118^2) to FindCUDA too.
Issue: #24192
This commit is contained in:
@@ -891,26 +891,29 @@ if(CMAKE_CROSSCOMPILING)
|
||||
SET (CUDA_TOOLKIT_ROOT $ENV{CUDA_TOOLKIT_ROOT})
|
||||
if(CMAKE_SYSTEM_PROCESSOR STREQUAL "armv7-a")
|
||||
# Support for NVPACK
|
||||
set (CUDA_TOOLKIT_TARGET_NAME "armv7-linux-androideabi")
|
||||
set (CUDA_TOOLKIT_TARGET_NAMES "armv7-linux-androideabi")
|
||||
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "arm")
|
||||
# Support for arm cross compilation
|
||||
set(CUDA_TOOLKIT_TARGET_NAME "armv7-linux-gnueabihf")
|
||||
set(CUDA_TOOLKIT_TARGET_NAMES "armv7-linux-gnueabihf")
|
||||
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64")
|
||||
# Support for aarch64 cross compilation
|
||||
if (ANDROID_ARCH_NAME STREQUAL "arm64")
|
||||
set(CUDA_TOOLKIT_TARGET_NAME "aarch64-linux-androideabi")
|
||||
set(CUDA_TOOLKIT_TARGET_NAMES "aarch64-linux-androideabi")
|
||||
elseif (CMAKE_SYSTEM_NAME STREQUAL "QNX")
|
||||
set(CUDA_TOOLKIT_TARGET_NAME "aarch64-qnx")
|
||||
set(CUDA_TOOLKIT_TARGET_NAMES "aarch64-qnx")
|
||||
else()
|
||||
set(CUDA_TOOLKIT_TARGET_NAME "aarch64-linux")
|
||||
set(CUDA_TOOLKIT_TARGET_NAMES "aarch64-linux" "sbsa-linux")
|
||||
endif (ANDROID_ARCH_NAME STREQUAL "arm64")
|
||||
endif()
|
||||
|
||||
if (EXISTS "${CUDA_TOOLKIT_ROOT}/targets/${CUDA_TOOLKIT_TARGET_NAME}")
|
||||
set(CUDA_TOOLKIT_TARGET_DIR "${CUDA_TOOLKIT_ROOT}/targets/${CUDA_TOOLKIT_TARGET_NAME}" CACHE PATH "CUDA Toolkit target location.")
|
||||
SET (CUDA_TOOLKIT_ROOT_DIR ${CUDA_TOOLKIT_ROOT} CACHE PATH "Toolkit location." FORCE)
|
||||
mark_as_advanced(CUDA_TOOLKIT_TARGET_DIR)
|
||||
endif()
|
||||
foreach(CUDA_TOOLKIT_TARGET_NAME IN LISTS CUDA_TOOLKIT_TARGET_NAMES)
|
||||
if (EXISTS "${CUDA_TOOLKIT_ROOT}/targets/${CUDA_TOOLKIT_TARGET_NAME}")
|
||||
set(CUDA_TOOLKIT_TARGET_DIR "${CUDA_TOOLKIT_ROOT}/targets/${CUDA_TOOLKIT_TARGET_NAME}" CACHE PATH "CUDA Toolkit target location.")
|
||||
SET (CUDA_TOOLKIT_ROOT_DIR ${CUDA_TOOLKIT_ROOT} CACHE PATH "Toolkit location." FORCE)
|
||||
mark_as_advanced(CUDA_TOOLKIT_TARGET_DIR)
|
||||
break()
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
# add known CUDA targetr root path to the set of directories we search for programs, libraries and headers
|
||||
set( CMAKE_FIND_ROOT_PATH "${CUDA_TOOLKIT_TARGET_DIR};${CMAKE_FIND_ROOT_PATH}")
|
||||
|
||||
Reference in New Issue
Block a user