mirror of
https://github.com/NVIDIA/cuda-samples.git
synced 2025-08-24 07:50:31 +08:00
38 lines
1.5 KiB
CMake
38 lines
1.5 KiB
CMake
set(CMAKE_SYSTEM_NAME QNX)
|
|
set(CMAKE_SYSTEM_PROCESSOR aarch64)
|
|
|
|
# Need to set the QNX_HOST and QNX_TARGET environment variables
|
|
set(QNX_HOST $ENV{QNX_HOST})
|
|
set(QNX_TARGET $ENV{QNX_TARGET})
|
|
|
|
message(STATUS "QNX_HOST = ${QNX_HOST}")
|
|
message(STATUS "QNX_TARGET = ${QNX_TARGET}")
|
|
|
|
find_program(QNX_QCC NAMES qcc PATHS "${QNX_HOST}/usr/bin")
|
|
find_program(QNX_QPLUS NAMES q++ PATHS "${QNX_HOST}/usr/bin")
|
|
|
|
if(NOT QNX_QCC OR NOT QNX_QPLUS)
|
|
message(FATAL_ERROR "Could not find qcc or q++ in QNX_HOST=${QNX_HOST}/usr/bin")
|
|
endif()
|
|
|
|
# Specify the cross-compilers
|
|
set(CMAKE_C_COMPILER ${QNX_QCC})
|
|
set(CMAKE_CXX_COMPILER ${QNX_QPLUS})
|
|
|
|
set(CMAKE_C_COMPILER_TARGET aarch64)
|
|
set(CMAKE_CXX_COMPILER_TARGET aarch64)
|
|
|
|
# Set compiler flags
|
|
set(CMAKE_CUDA_HOST_COMPILER ${CMAKE_CXX_COMPILER} CACHE STRING "" FORCE)
|
|
set(CMAKE_CUDA_COMPILER_ID_TEST_FLAGS_FIRST "-nodlink -L${CUDA_ROOT}/lib64 -L${CUDA_ROOT}/lib -I${CUDA_ROOT}/include")
|
|
|
|
set(CMAKE_C_FLAGS " \"-V${__qnx_gcc_ver},gcc_ntoaarch64le\"")
|
|
set(CMAKE_CXX_FLAGS " \"-V${__qnx_gcc_ver},gcc_ntoaarch64le\"")
|
|
set(CMAKE_CUDA_FLAGS " --qpp-config=${__qnx_gcc_ver},gcc_ntoaarch64le")
|
|
set(AUTOMAGIC_NVCC_FLAGS --qpp-config=${__qnx_gcc_ver},gcc_ntoaarch64le CACHE STRING "automagic feature detection flags for cross build")
|
|
add_link_options("-V${__qnx_gcc_ver},gcc_ntoaarch64le")
|
|
|
|
set(CROSS_COMPILE_FOR_QNX ON CACHE BOOL "Cross compiling for QNX platforms")
|
|
string(APPEND CMAKE_CXX_FLAGS " -D_QNX_SOURCE")
|
|
string(APPEND CMAKE_CUDA_FLAGS " -D_QNX_SOURCE")
|