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:
@@ -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")
|
||||
|
||||
@@ -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
@@ -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")
|
||||
Reference in New Issue
Block a user