build for 2k0300 fengniao (#149)

This commit is contained in:
nihui
2024-09-07 22:52:11 +08:00
committed by GitHub
parent d492e4d2a3
commit 343c3ef52f
3 changed files with 45 additions and 0 deletions

View File

@@ -1826,6 +1826,16 @@ jobs:
export PATH=$PATH:$GITHUB_WORKSPACE/toolchain/gcc-linaro-7.2.1-2017.11-x86_64_arm-linux-gnueabi/bin
cmake-options: -DWITH_AW=ON
- name: 2k0300-fengniao
single-core: true
cmake-toolchain: loongarch64-linux-gnu.toolchain.cmake
setup-toolchain-cmd: |
wget -q http://ftp.loongnix.cn/toolchain/gcc/release/loongarch/gcc8/loongson-gnu-toolchain-8.3-x86_64-loongarch64-linux-gnu-rc1.5.tar.xz
tar -xf loongson-gnu-toolchain-8.3-x86_64-loongarch64-linux-gnu-rc1.5.tar.xz
setup-env-cmd: |
export LOONGARCH64_ROOT_PATH=$GITHUB_WORKSPACE/loongson-gnu-toolchain-8.3-x86_64-loongarch64-linux-gnu-rc1.5
cmake-options: -DCPU_BASELINE='' -DCPU_DISPATCH=''
env:
COMMON_CMAKE_OPTIONS: |
-DCMAKE_TOOLCHAIN_FILE=../../toolchains/${{ matrix.cmake-toolchain }} \

View File

@@ -399,6 +399,14 @@ https://github.com/nihui/opencv-mobile/releases/latest
</a>
</td>
<td>
<a href="https://www.loongson.cn/news/show?id=673">
<img alt="2k0300-fengniao" src="https://github.com/user-attachments/assets/3ff9048d-a2b7-46a4-8534-e8bf5b85a2e1" width="auto" height="120">
<br /><b>2k0300-fengniao</b>
</a>
<br />loongarch64-linux-gnu<br />
<a href="https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.10.0-2k0300-fengniao.zip">
<img alt="opencv4-2k0300-fengniao" src="https://img.shields.io/badge/download-4.10.0-blue?style=for-the-badge">
</a>
</td>
</tr>

View File

@@ -0,0 +1,27 @@
set(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_SYSTEM_PROCESSOR loongarch64)
if(DEFINED ENV{LOONGARCH64_ROOT_PATH})
file(TO_CMAKE_PATH $ENV{LOONGARCH64_ROOT_PATH} LOONGARCH64_ROOT_PATH)
else()
message(FATAL_ERROR "LOONGARCH64_ROOT_PATH env must be defined")
endif()
set(LOONGARCH64_ROOT_PATH ${LOONGARCH64_ROOT_PATH} CACHE STRING "root path to loongarch64 toolchain")
set(CMAKE_C_COMPILER "${LOONGARCH64_ROOT_PATH}/bin/loongarch64-linux-gnu-gcc")
set(CMAKE_CXX_COMPILER "${LOONGARCH64_ROOT_PATH}/bin/loongarch64-linux-gnu-g++")
set(CMAKE_FIND_ROOT_PATH "${LOONGARCH64_ROOT_PATH}/loongarch64-linux-gnu")
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)
set(CMAKE_C_FLAGS "-march=loongarch64")
set(CMAKE_CXX_FLAGS "-march=loongarch64")
# cache flags
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}" CACHE STRING "c flags")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}" CACHE STRING "c++ flags")