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)