Switch RK3576 toolchain to Buildroot SDK and migrate to Python 3.11

This commit is contained in:
EricX-Zhao
2026-07-10 17:08:18 +03:00
parent 877c9c329d
commit 39f628605f
6 changed files with 68 additions and 51 deletions
+17 -20
View File
@@ -1,16 +1,7 @@
set(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_SYSTEM_PROCESSOR aarch64)
# include buildroot toolchain file
include(/opt/aarch64-buildroot-linux-gnu_sdk-buildroot/share/buildroot/toolchainfile.cmake)
set(SYSROOT /opt/arm-gnu-toolchain-13.2.Rel1-x86_64-aarch64-none-linux-gnu)
set(CMAKE_SYSROOT
${SYSROOT}/aarch64-none-linux-gnu/libc
)
set(CMAKE_C_COMPILER ${SYSROOT}/bin/aarch64-none-linux-gnu-gcc)
set(CMAKE_CXX_COMPILER ${SYSROOT}/bin/aarch64-none-linux-gnu-g++)
list(APPEND CMAKE_FIND_ROOT_PATH
list(APPEND CMAKE_FIND_ROOT_PATH
$ENV{TARGET_SYSROOT}
$ENV{ROS_ROOT}
${CMAKE_INSTALL_PREFIX}
@@ -20,13 +11,19 @@ list(APPEND CMAKE_FIND_ROOT_PATH
# set(CMAKE_C_FLAGS_RELEASE "-O3 -DNDEBUG -Wno-error=unused-variable")
# set(CMAKE_CXX_FLAGS_RELEASE "-O3 -DNDEBUG -Wno-error=unused-variable")
# add_link_options("LINKER:-rpath-link,$ENV{TARGET_SYSROOT}/lib")
add_link_options($<$<CONFIG:Release>:-s>)
add_link_options("LINKER:-rpath-link,$ENV{TARGET_SYSROOT}/lib")
set(Python3_EXECUTABLE /usr/bin/python3)
set(Python3_NumPy_INCLUDE_DIR $ENV{ROS_ROOT}/lib/python3.10/site-packages/numpy/core/include)
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)
# use buildroot sdk python3.11
set(Python3_EXECUTABLE /usr/bin/python3.11)
set(Python3_INCLUDE_DIR ${CMAKE_SYSROOT}/usr/include/python3.11)
set(Python3_LIBRARY ${CMAKE_SYSROOT}/usr/lib/libpython3.11.so)
set(Python3_NumPy_INCLUDE_DIR ${CMAKE_SYSROOT}/usr/lib/python3.11/site-packages/numpy/core/include)
# use cross compile packages
set(LZ4_INCLUDE_DIR $ENV{TARGET_SYSROOT}/include)
set(LZ4_LIBRARY $ENV{TARGET_SYSROOT}/lib/liblz4.so)
set(flann_DIR $ENV{TARGET_SYSROOT}/lib/cmake/flann)
set(FLANN_INCLUDE_DIR $ENV{TARGET_SYSROOT}/include)
set(FLANN_LIBRARY $ENV{TARGET_SYSROOT}/lib/libflann.so)
set(yaml-cpp_DIR $ENV{TARGET_SYSROOT}/lib/cmake/yaml-cpp)