sitara_depot/compile/toolchain.cmake

48 lines
2.3 KiB
CMake

set(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_SYSTEM_PROCESSOR arm)
message("toolchain.cmake: Starting...")
if (NOT DEFINED ENV{ENV_TARGET_CROSS_COMPILE_PREFIX})
message(FATAL_ERROR "Environment variable ENV_TARGET_CROSS_COMPILE_PREFIX not defined!\n"
"It must be defined in CMakePresets.json file\n"
"ENV_TARGET_CROSS_COMPILE_PREFIX - C and CPP compiler prefix.\n"
"For example: /home/user/ti-processor-sdk-linux-am57xx-evm-08_02_01_00/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/arm-none-linux-gnueabihf-")
endif()
if (NOT DEFINED ENV{ENV_TARGET_SYSTOOT_PATH})
message(FATAL_ERROR "Environment variable ENV_TARGET_SYSTOOT_PATH not defined!\n"
"It must be defined in CMakePresets.json file.\n"
"ENV_TARGET_SYSTOOT_PATH - path to system root\n"
"For example: /home/user/ti-processor-sdk-linux-am57xx-evm-08_02_01_00/linux-devkit/sysroots/armv7at2hf-neon-linux-gnueabi")
endif()
# Указываем положение SYSROOT
set(CMAKE_SYSROOT $ENV{ENV_TARGET_SYSTOOT_PATH})
# Подключаем системные инклуды(нужно для SYSROOT от BeagleBoneAI)
if (EXISTS $ENV{ENV_TARGET_SYSTOOT_PATH}/usr/include/arm-linux-gnueabihf)
include_directories($ENV{ENV_TARGET_SYSTOOT_PATH}/usr/include/arm-linux-gnueabihf)
endif()
# Указываем где искать packages(например boost) спомощью команды find(например find_package)
set(CMAKE_FIND_ROOT_PATH $ENV{ENV_TARGET_SYSTOOT_PATH})
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY_CMAKE_FIND_ROOT_PATH)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY_CMAKE_FIND_ROOT_PATH)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY_CMAKE_FIND_ROOT_PATH)
# Указываем компилятор
set(CMAKE_CXX_COMPILER $ENV{ENV_TARGET_CROSS_COMPILE_PREFIX}g++ CACHE FILEPATH "Target C++ compiler")
set(CMAKE_C_COMPILER $ENV{ENV_TARGET_CROSS_COMPILE_PREFIX}gcc CACHE FILEPATH "Target Linux C compiler")
set(CMAKE_C_STANDARD_COMPUTED_DEFAULT 11)
set(CMAKE_CXX_STANDARD_COMPUTED_DEFAULT 14)
#set(CMAKE_C_COMPILER_FORCED TRUE)
#set(CMAKE_CXX_COMPILER_FORCED TRUE)
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)