Packages

QNN (Qualcomm AI Engine Direct) NIF bindings for the Hexagon NPU (QCS6490/HTP)

Current section

Files

Jump to
hexagon_tpu cmake env-toolchain.cmake
Raw

cmake/env-toolchain.cmake

# Generic cross-compilation toolchain file driven by environment variables.
# Nerves (and cc_precompiler) export CC/CXX/CROSSCOMPILE/TARGET_ARCH into
# dependency builds; this file just forwards them to CMake.
set(CMAKE_SYSTEM_NAME Linux)
if(DEFINED ENV{TARGET_ARCH} AND NOT "$ENV{TARGET_ARCH}" STREQUAL "")
set(CMAKE_SYSTEM_PROCESSOR "$ENV{TARGET_ARCH}")
else()
set(CMAKE_SYSTEM_PROCESSOR aarch64)
endif()
if(DEFINED ENV{CC} AND NOT "$ENV{CC}" STREQUAL "")
set(CMAKE_C_COMPILER "$ENV{CC}")
endif()
if(DEFINED ENV{CXX} AND NOT "$ENV{CXX}" STREQUAL "")
set(CMAKE_CXX_COMPILER "$ENV{CXX}")
endif()
# Fall back to the CROSSCOMPILE prefix when CC/CXX are unset.
if(NOT DEFINED CMAKE_C_COMPILER AND DEFINED ENV{CROSSCOMPILE})
set(CMAKE_C_COMPILER "$ENV{CROSSCOMPILE}-gcc")
set(CMAKE_CXX_COMPILER "$ENV{CROSSCOMPILE}-g++")
endif()
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)