2023-12-05 10:05:36 +08:00
|
|
|
# set cross-compiled system type, it's better not use the type which cmake cannot recognized.
|
|
|
|
set(CMAKE_CROSSCOMPILING TRUE)
|
|
|
|
set(CMAKE_SYSTEM_NAME Linux)
|
|
|
|
set(CMAKE_SYSTEM_PROCESSOR arm)
|
|
|
|
# when hislicon SDK was installed, toolchain was installed in the path as below:
|
2023-12-08 19:08:52 +08:00
|
|
|
set(CMAKE_C_COMPILER "/opt/hisi-linux/x86-arm/arm-hisiv500-linux/bin/arm-hisiv500-linux-uclibcgnueabi-gcc")
|
|
|
|
set(CMAKE_CXX_COMPILER "/opt/hisi-linux/x86-arm/arm-hisiv500-linux/bin/arm-hisiv500-linux-uclibcgnueabi-g++")
|
2023-12-05 10:05:36 +08:00
|
|
|
set(CMAKE_FIND_ROOT_PATH "/opt/hisi-linux/x86-arm/arm-hisiv500-linux")
|
|
|
|
|
|
|
|
# set searching rules for cross-compiler
|
|
|
|
if(NOT CMAKE_FIND_ROOT_PATH_MODE_PROGRAM)
|
|
|
|
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
|
|
|
endif()
|
|
|
|
if(NOT CMAKE_FIND_ROOT_PATH_MODE_LIBRARY)
|
|
|
|
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
|
|
|
endif()
|
|
|
|
if(NOT CMAKE_FIND_ROOT_PATH_MODE_INCLUDE)
|
|
|
|
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
|
|
|
endif()
|
|
|
|
if(NOT CMAKE_FIND_ROOT_PATH_MODE_PACKAGE)
|
|
|
|
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
|
|
|
|
endif()
|
|
|
|
|
|
|
|
# set ${CMAKE_C_FLAGS} and ${CMAKE_CXX_FLAGS}flag for cross-compiled process
|
|
|
|
set(CMAKE_CXX_FLAGS "-march=armv7-a -mfloat-abi=softfp -mfpu=neon-vfpv4 ${CMAKE_CXX_FLAGS}")
|
|
|
|
|
|
|
|
# cache flags
|
|
|
|
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}" CACHE STRING "c flags")
|
|
|
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}" CACHE STRING "c++ flags")
|