1
0
mirror of https://github.com/opencv/opencv.git synced 2026-07-31 00:03:03 +04:00

Merge branch 4.x

This commit is contained in:
Alexander Smorkalov
2024-01-23 17:06:52 +03:00
148 changed files with 3263 additions and 1564 deletions
@@ -39,7 +39,6 @@ android {
}
}
buildFeatures {
aidl true
prefabPublishing true
buildConfig true
}
@@ -52,13 +51,13 @@ android {
main {
java.srcDirs = ['src/main/java']
//jniLibs.srcDirs = ['libs']
aidl.srcDirs = ['src/main/java']
}
}
publishing {
singleVariant('release') {
withSourcesJar()
withJavadocJar()
}
}
}
@@ -66,14 +65,42 @@ android {
publishing {
publications {
release(MavenPublication) {
// Builds aar, sources jar and javadoc jar from project sources and creates maven
groupId = 'org.opencv'
artifactId = '${PACKAGE_NAME}'
version = '${OPENCV_VERSION}'
afterEvaluate {
from components.release
}
}
modified(MavenPublication) {
// Creates maven from opencv-release.aar
groupId = 'org.opencv'
artifactId = '${PACKAGE_NAME}'
version = '${OPENCV_VERSION}'
artifact("opencv-release.aar")
// afterEvaluate {
// from components.release
// }
pom {
name = "OpenCV"
description = "Open Source Computer Vision Library"
url = "https://opencv.org/"
licenses {
license {
name = "The Apache License, Version 2.0"
url = "https://github.com/opencv/opencv/blob/master/LICENSE"
}
}
developers {
developer {
id = "admin"
name = "OpenCV Team"
email = "admin@opencv.org"
}
}
scm {
connection = "scm:git:https://github.com/opencv/opencv.git"
url = "https://github.com/opencv/opencv"
}
}
}
}
repositories {
@@ -85,4 +112,4 @@ publishing {
}
dependencies {
}
}
@@ -144,6 +144,8 @@ def main(args):
print("Creating local maven repo...")
shutil.copy(final_aar_path, path.join(ANDROID_PROJECT_DIR, "OpenCV/opencv-release.aar"))
print("Creating a maven repo from project sources (with sources jar and javadoc jar)...")
subprocess.run(["./gradlew", "publishReleasePublicationToMyrepoRepository"],
shell=False,
cwd=ANDROID_PROJECT_DIR,
@@ -153,6 +155,17 @@ def main(args):
shutil.move(path.join(ANDROID_PROJECT_DIR, "OpenCV/build/repo/org/opencv", MAVEN_PACKAGE_NAME),
path.join(FINAL_REPO_PATH, "org/opencv", MAVEN_PACKAGE_NAME))
print("Creating a maven repo from modified AAR (with cpp libraries)...")
subprocess.run(["./gradlew", "publishModifiedPublicationToMyrepoRepository"],
shell=False,
cwd=ANDROID_PROJECT_DIR,
check=True)
# Replacing AAR from the first maven repo with modified AAR from the second maven repo
shutil.copytree(path.join(ANDROID_PROJECT_DIR, "OpenCV/build/repo/org/opencv", MAVEN_PACKAGE_NAME),
path.join(FINAL_REPO_PATH, "org/opencv", MAVEN_PACKAGE_NAME),
dirs_exist_ok=True)
if __name__ == "__main__":
parser = argparse.ArgumentParser(description="Builds AAR with Java and shared C++ libs from OpenCV SDK")
+13
View File
@@ -216,6 +216,7 @@ def main(args):
shutil.copy(final_aar_path, path.join(ANDROID_PROJECT_DIR, "OpenCV/opencv-release.aar"))
print("Creating a maven repo from project sources (with sources jar and javadoc jar)...")
subprocess.run(["./gradlew", "publishReleasePublicationToMyrepoRepository"],
shell=False,
cwd=ANDROID_PROJECT_DIR,
@@ -224,6 +225,18 @@ def main(args):
os.makedirs(path.join(FINAL_REPO_PATH, "org/opencv"), exist_ok=True)
shutil.move(path.join(ANDROID_PROJECT_DIR, "OpenCV/build/repo/org/opencv", MAVEN_PACKAGE_NAME),
path.join(FINAL_REPO_PATH, "org/opencv", MAVEN_PACKAGE_NAME))
print("Creating a maven repo from modified AAR (with cpp libraries)...")
subprocess.run(["./gradlew", "publishModifiedPublicationToMyrepoRepository"],
shell=False,
cwd=ANDROID_PROJECT_DIR,
check=True)
# Replacing AAR from the first maven repo with modified AAR from the second maven repo
shutil.copytree(path.join(ANDROID_PROJECT_DIR, "OpenCV/build/repo/org/opencv", MAVEN_PACKAGE_NAME),
path.join(FINAL_REPO_PATH, "org/opencv", MAVEN_PACKAGE_NAME),
dirs_exist_ok=True)
print("Done")
@@ -4,5 +4,54 @@ set(CMAKE_SYSTEM_PROCESSOR riscv64)
set(CMAKE_CXX_COMPILER riscv64-unknown-linux-gnu-g++)
set(CMAKE_C_COMPILER riscv64-unknown-linux-gnu-gcc)
set(CMAKE_CXX_FLAGS_INIT "-march=rv64gcv -mabi=lp64d -D__riscv_vector_071")
set(CMAKE_C_FLAGS_INIT "-march=rv64gcv -mabi=lp64d -D__riscv_vector_071")
# MangoPi MQ Pro - C906FD, C906FDV
# Lichee Pi 4A - C910, C910V (?)
# CanMV K230 - C908, C908V
# See https://github.com/T-head-Semi/gcc/blob/xuantie-gcc-10.4.0/gcc/config/riscv/riscv-cores.def
set(_enable_vector OFF)
if(CORE STREQUAL "C906FD")
set(CMAKE_C_FLAGS_INIT "-mcpu=c906fd -mabi=lp64d -mtune=c906fd")
set(CMAKE_CXX_FLAGS_INIT "-mcpu=c906fd -mabi=lp64d -mtune=c906fd")
elseif(CORE STREQUAL "C906FDV")
set(CMAKE_C_FLAGS_INIT "-mcpu=c906fd -mabi=lp64d -mtune=c906fd")
set(CMAKE_CXX_FLAGS_INIT "-mcpu=c906fd -mabi=lp64d -mtune=c906fd")
# Disabled due to limited 64-bit SEW support
# set(_enable_vector ON)
elseif(CORE STREQUAL "C908")
set(CMAKE_C_FLAGS_INIT "-mcpu=c908 -mabi=lp64d -mtune=c908")
set(CMAKE_CXX_FLAGS_INIT "-mcpu=c908 -mabi=lp64d -mtune=c908")
elseif(CORE STREQUAL "C908V")
set(CMAKE_C_FLAGS_INIT "-mcpu=c908v -mabi=lp64d -mtune=c908")
set(CMAKE_CXX_FLAGS_INIT "-mcpu=c908v -mabi=lp64d -mtune=c908")
set(_enable_vector ON) # RVV 1.0
elseif(CORE STREQUAL "C910")
set(CMAKE_C_FLAGS_INIT "-mcpu=c910 -mabi=lp64d -mtune=c910")
set(CMAKE_CXX_FLAGS_INIT "-mcpu=c910 -mabi=lp64d -mtune=c910")
elseif(CORE STREQUAL "C910V")
set(CMAKE_C_FLAGS_INIT "-march=rv64imafdcv0p7xthead -mabi=lp64d")
set(CMAKE_CXX_FLAGS_INIT "-march=rv64imafdcv0p7xthead -mabi=lp64d")
set(_enable_vector ON) # RVV 0.7.1
elseif(CORE STREQUAL "C920")
set(CMAKE_C_FLAGS_INIT "-mcpu=c920 -mabi=lp64d -mtune=c920")
set(CMAKE_CXX_FLAGS_INIT "-mcpu=c920 -mabi=lp64d -mtune=c920")
set(_enable_vector ON) # RVV 0.7.1
elseif(CORE STREQUAL "C920V2")
set(CMAKE_C_FLAGS_INIT "-mcpu=c920v2 -mabi=lp64d -mtune=c920v2")
set(CMAKE_CXX_FLAGS_INIT "-mcpu=c920v2 -mabi=lp64d -mtune=c920v2")
set(_enable_vector ON) # RVV 1.0
else()
set(CMAKE_C_FLAGS_INIT "-march=rv64imafdc_zihintpause_zfh_zba_zbb_zbc_zbs_xtheadc -mabi=lp64d")
set(CMAKE_CXX_FLAGS_INIT "-march=rv64imafdc_zihintpause_zfh_zba_zbb_zbc_zbs_xtheadc -mabi=lp64d")
endif()
if(_enable_vector)
set(CMAKE_C_FLAGS_INIT "${CMAKE_C_FLAGS_INIT} -D__riscv_vector_071 -mrvv-vector-bits=128")
set(CMAKE_CXX_FLAGS_INIT "${CMAKE_CXX_FLAGS_INIT} -D__riscv_vector_071 -mrvv-vector-bits=128")
endif()
if(ENABLE_GCOV)
set(CMAKE_CXX_FLAGS_INIT "${CMAKE_CXX_FLAGS_INIT} -fprofile-arcs -ftest-coverage")
set(CMAKE_C_FLAGS_INIT "${CMAKE_C_FLAGS_INIT} -fprofile-arcs -ftest-coverage")
endif()
+10
View File
@@ -0,0 +1,10 @@
set(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_SYSTEM_PROCESSOR riscv64)
set(RISCV_GCC_INSTALL_ROOT $ENV{RISCV} CACHE PATH "Path to GCC for RISC-V cross compiler installation directory")
set(CMAKE_C_COMPILER ${RISCV_GCC_INSTALL_ROOT}/bin/riscv64-linux-gcc)
set(CMAKE_CXX_COMPILER ${RISCV_GCC_INSTALL_ROOT}/bin/riscv64-linux-g++)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -march=rv64gc -mext-dsp")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=rv64gc -mext-dsp")