48 lines
2.3 KiB
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)
|