Felipe97/llama-cpp-compiled
01.1k
1# Used to cross-compile ggml-cuda for Windows ARM64 on an x64 Windows host.2set( CMAKE_SYSTEM_NAME Windows )3set( CMAKE_SYSTEM_PROCESSOR arm64 )4 5if ( DEFINED CUDAToolkit_ROOT )6 file( TO_CMAKE_PATH "${CUDAToolkit_ROOT}" CUDA_ROOT )7elseif ( DEFINED ENV{CUDA_PATH} )8 file( TO_CMAKE_PATH "$ENV{CUDA_PATH}" CUDA_ROOT )9else()10 message( FATAL_ERROR "Set CUDAToolkit_ROOT or CUDA_PATH to a Windows CUDA Toolkit with ARM64 target libraries" )11endif()12 13if ( DEFINED ENV{VCToolsInstallDir} )14 file( TO_CMAKE_PATH "$ENV{VCToolsInstallDir}" MSVC_TOOLS_ROOT )15 set( CMAKE_CUDA_HOST_COMPILER "${MSVC_TOOLS_ROOT}/bin/Hostx64/arm64/cl.exe" CACHE FILEPATH "" )16endif()17 18set( CMAKE_CUDA_COMPILER "${CUDA_ROOT}/bin/nvcc.exe" CACHE FILEPATH "" )19set( CMAKE_CUDA_FLAGS_INIT "-target-dir=arm64" )20 21# FindCUDAToolkit selects lib/x64 from the host architecture on Windows.22set( CUDA_CUDART "${CUDA_ROOT}/lib/arm64/cudart.lib" CACHE FILEPATH "" )23set( CUDA_cudart_LIBRARY "${CUDA_ROOT}/lib/arm64/cudart.lib" CACHE FILEPATH "" )24set( CUDA_cublas_LIBRARY "${CUDA_ROOT}/lib/arm64/cublas.lib" CACHE FILEPATH "" )25set( CUDA_cublasLt_LIBRARY "${CUDA_ROOT}/lib/arm64/cublasLt.lib" CACHE FILEPATH "" )26set( CUDA_cuda_driver_LIBRARY "${CUDA_ROOT}/lib/arm64/cuda.lib" CACHE FILEPATH "" )27 