ncnn
31 строка · 1.2 Кб
1# set cross-compiled system type, it's better not use the type which cmake cannot recognized.
2set(CMAKE_SYSTEM_NAME Linux)
3set(CMAKE_SYSTEM_PROCESSOR arm)
4# when hislicon SDK was installed, toolchain was installed in the path as below:
5set(CMAKE_C_COMPILER /opt/hisi-linux/x86-arm/arm-himix200-linux/bin/arm-himix200-linux-gcc)
6set(CMAKE_CXX_COMPILER /opt/hisi-linux/x86-arm/arm-himix200-linux/bin/arm-himix200-linux-g++)
7
8# set searching rules for cross-compiler
9if(NOT CMAKE_FIND_ROOT_PATH_MODE_PROGRAM)
10set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
11endif()
12if(NOT CMAKE_FIND_ROOT_PATH_MODE_LIBRARY)
13set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
14endif()
15if(NOT CMAKE_FIND_ROOT_PATH_MODE_INCLUDE)
16set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
17endif()
18if(NOT CMAKE_FIND_ROOT_PATH_MODE_PACKAGE)
19set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
20endif()
21
22# set ${CMAKE_C_FLAGS} and ${CMAKE_CXX_FLAGS}flag for cross-compiled process
23set(CROSS_COMPILATION_ARM himix200)
24set(CROSS_COMPILATION_ARCHITECTURE armv7-a)
25
26# set g++ param
27set(CMAKE_CXX_FLAGS "-march=armv7-a -mfloat-abi=softfp -mfpu=neon-vfpv4 ${CMAKE_CXX_FLAGS}")
28
29# cache flags
30set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}" CACHE STRING "c flags")
31set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}" CACHE STRING "c++ flags")
32