ncnn
39 строк · 1.5 Кб
1set(CMAKE_SYSTEM_NAME Linux)
2set(CMAKE_SYSTEM_PROCESSOR mips32el)
3
4if(DEFINED ENV{MIPS_ROOT_PATH})
5file(TO_CMAKE_PATH $ENV{MIPS_ROOT_PATH} MIPS_ROOT_PATH)
6else()
7message(FATAL_ERROR "MIPS_ROOT_PATH env must be defined")
8endif()
9
10set(MIPS_ROOT_PATH ${MIPS_ROOT_PATH} CACHE STRING "root path to mips toolchain")
11
12set(CMAKE_C_COMPILER "${MIPS_ROOT_PATH}/bin/mips-linux-gnu-gcc")
13set(CMAKE_CXX_COMPILER "${MIPS_ROOT_PATH}/bin/mips-linux-gnu-g++")
14
15set(CMAKE_FIND_ROOT_PATH "${MIPS_ROOT_PATH}/mips-linux-gnu")
16
17if(NOT CMAKE_FIND_ROOT_PATH_MODE_PROGRAM)
18set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
19endif()
20if(NOT CMAKE_FIND_ROOT_PATH_MODE_LIBRARY)
21set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
22endif()
23if(NOT CMAKE_FIND_ROOT_PATH_MODE_INCLUDE)
24set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
25endif()
26if(NOT CMAKE_FIND_ROOT_PATH_MODE_PACKAGE)
27set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
28endif()
29
30set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -march=xburst2 -mtune=xburst2 -mfp64 -mnan=2008")
31set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -march=xburst2 -mtune=xburst2 -mfp64 -mnan=2008")
32
33# cache flags
34set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}" CACHE STRING "c flags")
35set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}" CACHE STRING "c++ flags")
36
37# export MIPS_ROOT_PATH=/home/nihui/osd/ingenic-linux-kernel4.4.94-x2000_v12-v8.0-20220125/prebuilts/toolchains/mips-gcc720-glibc229
38# export MIPS_ROOT_PATH=/home/nihui/osd/君正X2000开发板资料发布/03_SDK/sdk/prebuilts/toolchains/mips-gcc720-glibc229
39# cmake -DCMAKE_TOOLCHAIN_FILE=../toolchains/ingenic-x2000.toolchain.cmake ..
40