[aravis] add new port (+add to OpenCV 4 as optional feature) (#42351)

Co-authored-by: Stefano Sinigardi <stesinigardi@hotmail.com>
Co-authored-by: WangWeiLin-MV <156736127+WangWeiLin-MV@users.noreply.github.com>
This commit is contained in:
Ralph Ursprung 2025-03-12 14:58:31 +01:00 committed by GitHub
parent 893182b671
commit f61747a671
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
11 changed files with 174 additions and 4 deletions

View File

@ -0,0 +1,70 @@
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO AravisProject/aravis
REF "${VERSION}"
SHA512 3a71228fdd3d2fc6926b4efc99f268130ad4c460a8d8573d7cfa9bc0833355e88e5fc8900302eb8b891a1cc1a7f4b8753a295e5fe10d9653b32258ab62ed2113
HEAD_REF main
)
set(OPTIONS "")
set(OPTIONS_RELEASE "")
if("usb" IN_LIST FEATURES)
list(APPEND OPTIONS -Dusb=enabled)
else()
list(APPEND OPTIONS -Dusb=disabled)
endif()
if("packet-socket" IN_LIST FEATURES)
list(APPEND OPTIONS -Dpacket-socket=enabled)
else()
list(APPEND OPTIONS -Dpacket-socket=disabled)
endif()
if("fast-heartbeat" IN_LIST FEATURES)
list(APPEND OPTIONS -Dfast-heartbeat=true)
else()
list(APPEND OPTIONS -Dfast-heartbeat=false)
endif()
if("introspection" IN_LIST FEATURES)
list(APPEND OPTIONS_RELEASE -Dintrospection=enabled)
else()
list(APPEND OPTIONS_RELEASE -Dintrospection=disabled)
endif()
set(GLIB_TOOLS_DIR "${CURRENT_HOST_INSTALLED_DIR}/tools/glib")
set(GIR_TOOLS_DIR "${CURRENT_HOST_INSTALLED_DIR}/tools/gobject-introspection")
if(CMAKE_HOST_WIN32 AND VCPKG_TARGET_ARCHITECTURE STREQUAL "x86")
set(GIR_TOOLS_DIR "${CURRENT_INSTALLED_DIR}/tools/gobject-introspection")
endif()
vcpkg_configure_meson(
SOURCE_PATH
"${SOURCE_PATH}"
OPTIONS
${OPTIONS}
-Dviewer=disabled
-Dgst-plugin=disabled
OPTIONS_RELEASE
${OPTIONS_RELEASE}
OPTIONS_DEBUG
-Dintrospection=disabled
ADDITIONAL_BINARIES
"glib-mkenums='${GLIB_TOOLS_DIR}/glib-mkenums'"
"glib-compile-resources='${GLIB_TOOLS_DIR}/glib-compile-resources${VCPKG_HOST_EXECUTABLE_SUFFIX}'"
"g-ir-compiler='${GIR_TOOLS_DIR}/g-ir-compiler${VCPKG_HOST_EXECUTABLE_SUFFIX}'"
"g-ir-scanner='${GIR_TOOLS_DIR}/g-ir-scanner'"
)
vcpkg_install_meson()
vcpkg_copy_pdbs()
vcpkg_fixup_pkgconfig()
vcpkg_copy_tools(
AUTO_CLEAN
TOOL_NAMES
arv-camera-test-0.8
arv-fake-gv-camera-0.8
arv-test-0.8
arv-tool-0.8
)
vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING")

43
ports/aravis/vcpkg.json Normal file
View File

@ -0,0 +1,43 @@
{
"name": "aravis",
"version": "0.8.34",
"description": " A vision library for genicam based cameras.",
"homepage": "https://github.com/AravisProject/aravis",
"license": "LGPL-2.0-or-later",
"dependencies": [
"glib",
{
"name": "glib",
"host": true
},
"libxml2",
{
"name": "vcpkg-tool-meson",
"host": true
},
"zlib"
],
"default-features": [
"usb"
],
"features": {
"fast-heartbeat": {
"description": "Enable faster heartbeat rate"
},
"introspection": {
"description": "Build introspection data",
"dependencies": [
"gobject-introspection"
]
},
"packet-socket": {
"description": "Enable packet socket support"
},
"usb": {
"description": "Enable USB support",
"dependencies": [
"libusb"
]
}
}
}

View File

@ -1,7 +1,7 @@
{
"name": "opencv",
"version": "4.10.0",
"port-version": 2,
"port-version": 3,
"description": "computer vision library",
"homepage": "https://github.com/opencv/opencv",
"license": "Apache-2.0",
@ -24,6 +24,18 @@
}
]
},
"aravis": {
"description": "aravis",
"dependencies": [
{
"name": "opencv4",
"default-features": false,
"features": [
"aravis"
]
}
]
},
"calib3d": {
"description": "calib3d module",
"dependencies": [

View File

@ -70,6 +70,7 @@ set(ADE_DIR ${CURRENT_INSTALLED_DIR}/share/ade CACHE PATH "Path to existing ADE
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
FEATURES
"ade" WITH_ADE
"aravis" WITH_ARAVIS
"calib3d" BUILD_opencv_calib3d
"carotene" WITH_CAROTENE
"contrib" WITH_CONTRIB

View File

@ -1,7 +1,7 @@
{
"name": "opencv4",
"version": "4.10.0",
"port-version": 5,
"port-version": 6,
"description": "computer vision library",
"homepage": "https://github.com/opencv/opencv",
"license": "Apache-2.0",
@ -67,6 +67,15 @@
"ade"
]
},
"aravis": {
"description": "aravis",
"dependencies": [
{
"name": "aravis",
"default-features": false
}
]
},
"calib3d": {
"description": "calib3d module"
},

View File

@ -55,6 +55,10 @@ apr:arm64-android=fail
apr:x64-android=fail
apsi:arm-neon-android=fail
apsi:x64-android=fail
# needs NDK w/ API level >=24, CI currently has API level 21
aravis:arm-neon-android=fail
aravis:arm64-android=fail
aravis:x64-android=fail
# Broken with CUDA 12; needs update to 3.8.3 and https://github.com/arrayfire/arrayfire/issues/3349 fixed
arrayfire:x64-linux=fail
avro-c:arm-neon-android=fail

View File

@ -120,6 +120,14 @@
],
"platform": "!uwp & !android & !(windows & (arm | arm64)) & !(osx & arm64)"
},
{
"name": "opencv",
"default-features": false,
"features": [
"aravis"
],
"platform": "!android & !uwp"
},
{
"name": "opencv2",
"default-features": false,

9
versions/a-/aravis.json Normal file
View File

@ -0,0 +1,9 @@
{
"versions": [
{
"git-tree": "9de676f9a27354906fbff6a6005d11719e8f09e1",
"version": "0.8.34",
"port-version": 0
}
]
}

View File

@ -184,6 +184,10 @@
"baseline": "0.11.0",
"port-version": 0
},
"aravis": {
"baseline": "0.8.34",
"port-version": 0
},
"arb": {
"baseline": "2.21.1",
"port-version": 2
@ -6738,7 +6742,7 @@
},
"opencv": {
"baseline": "4.10.0",
"port-version": 2
"port-version": 3
},
"opencv2": {
"baseline": "2.4.13.7",
@ -6750,7 +6754,7 @@
},
"opencv4": {
"baseline": "4.10.0",
"port-version": 5
"port-version": 6
},
"opendnp3": {
"baseline": "3.1.1",

View File

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "b64f8548c2b8c03acf0f510c100785725c6e3f6f",
"version": "4.10.0",
"port-version": 3
},
{
"git-tree": "22a0035d6e4154c97495125f9482180d7810fe91",
"version": "4.10.0",

View File

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "93ab740dda4563da56f1b89ddbd8bc9802ec6df2",
"version": "4.10.0",
"port-version": 6
},
{
"git-tree": "176f72c465d0770b93bc5c394d4993de54ad9c71",
"version": "4.10.0",