[darknet] Update to some commit from hank-ai (#48312)

This commit is contained in:
Kai Pastor
2025-12-12 20:31:40 +01:00
committed by GitHub
parent 3f176cb180
commit 4f95fba7a7
10 changed files with 202 additions and 78 deletions

View File

@@ -0,0 +1,29 @@
diff --git a/cfg/CMakeLists.txt b/cfg/CMakeLists.txt
index b4d7898..2374cee 100644
--- a/cfg/CMakeLists.txt
+++ b/cfg/CMakeLists.txt
@@ -3,8 +3,4 @@
FILE (GLOB CFG *.cfg *.names)
-IF (UNIX)
- INSTALL (FILES ${CFG} DESTINATION /opt/darknet/cfg/)
-ELSE ()
- INSTALL (FILES ${CFG} DESTINATION cfg/)
-ENDIF ()
+INSTALL (FILES ${CFG} DESTINATION share/darknet/cfg/)
diff --git a/src-cli/CMakeLists.txt b/src-cli/CMakeLists.txt
index 4124877..e23ed14 100644
--- a/src-cli/CMakeLists.txt
+++ b/src-cli/CMakeLists.txt
@@ -32,10 +32,6 @@ ELSE ()
# https://stackoverflow.com/a/72088102/13022
INSTALL (TARGETS darknetcli
DESTINATION bin
- RUNTIME_DEPENDENCIES
- PRE_EXCLUDE_REGEXES "api-ms-" "ext-ms-" "wpaxholder" "HvsiFileTrust" "PdmUtilities"
- POST_EXCLUDE_REGEXES ".*system32/.*\\.dll"
- DIRECTORIES ${CMAKE_BINARY_DIR}/bin
RUNTIME DESTINATION bin
)
ENDIF ()

View File

@@ -1,51 +1,77 @@
vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY)
# There are no curated versions.
# Port updates must checkout the master branch, run
# git describe --tags --dirty --long
# and put the result into this variable.
set(darknet_version_string "v5.0-167-gfc780f8a")
string(REGEX REPLACE "^.*-g" "" ref "${darknet_version_string}")
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO AlexeyAB/darknet
REF 19dde2f296941a75b0b9202cccd59528bde7f65a
SHA512 3f24fd5c69a00032e63fc8479d46dedf9008909c5e0f37847f0427c39f35e68f35a5ee89820cd0a179cb282e49730e6b1465a027d89bef585e9a1cfca6e3d3a2
REPO hank-ai/darknet
REF "${ref}"
SHA512 4403922273526862d6e899bfe4de2bc1205d004e8eb58f2a5837fda913565eff970405692d69f7c0155182a688d1ee91ca67f79edd1eae8c03228cdd24acac53
HEAD_REF master
PATCHES
android.diff
msvc-names.diff
installation.diff
purely-openmp_cxx-target.diff
version-info.diff
system-processor.diff
windows-getopt.diff
)
file(WRITE "${SOURCE_PATH}/src-examples/CMakeLists.txt" "# disabled by vcpkg")
file(REMOVE_RECURSE "${SOURCE_PATH}/src-other")
# src-lib/col2im_kernels.cu, src-lib/gemm.cpp, src-lib/im2col.cpp, src-lib/im2col_kernels.cu
vcpkg_download_distfile(caffe_license_file
URLS "https://github.com/BVLC/caffe/raw/9ab67099e08c03bf57e6a67538ca4746365beda8/LICENSE"
FILENAME "hunk-ai-darknet-caffe-LICENSE-9ab6709"
SHA512 333129c62f7c45df992ea4638d2b879608c1d01db80a5a6ce3e93970b414976374ef3e7b670f655b62f6fc4f8eb8c7ba17e94aad197e5e1a7ae8c0ef0b3587ba
)
file(REMOVE_RECURSE "${SOURCE_PATH}/3rdparty")
file(REMOVE_RECURSE "${SOURCE_PATH}/cmake/Modules")
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
FEATURES
cuda ENABLE_CUDA
cudnn ENABLE_CUDNN
opencv-base ENABLE_OPENCV
cuda DARKNET_TRY_CUDA
openmp VCPKG_LOCK_FIND_PACKAGE_OpenMP
)
if("cuda" IN_LIST FEATURES)
vcpkg_find_cuda(OUT_CUDA_TOOLKIT_ROOT cuda_toolkit_root)
list(APPEND FEATURE_OPTIONS "-DCMAKE_CUDA_COMPILER=${NVCC}")
vcpkg_find_cuda(OUT_CUDA_TOOLKIT_ROOT cuda_toolkit_root)
list(APPEND FEATURE_OPTIONS "-DCMAKE_CUDA_COMPILER=${NVCC}")
if(DEFINED CUDA_ARCHITECTURES)
list(APPEND FEATURE_OPTIONS "-DDARKNET_CUDA_ARCHITECTURES=${CUDA_ARCHITECTURES}")
else()
message(STATUS "CUDA_ARCHITECTURES is not set. Choice is made by darknet.")
endif()
if(NOT "cudnn" IN_LIST FEATURES)
list(APPEND FEATURE_OPTIONS "-Dcudnn=OFF") # disable find_library
endif()
endif()
vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}"
DISABLE_PARALLEL_CONFIGURE
DISABLE_PARALLEL_CONFIGURE # configuring darknet_version.h
OPTIONS
${FEATURE_OPTIONS}
-DINSTALL_BIN_DIR:STRING=bin
-DINSTALL_LIB_DIR:STRING=lib
-DSKIP_INSTALL_RUNTIME_LIBS:BOOL=ON
-DDARKNET_BRANCH_NAME=vcpkg # actually master with extra patches.
-DDARKNET_VERSION_STRING=${darknet_version_string}
-DDARKNET_TRY_ONNX=OFF
-DDARKNET_TRY_OPENBLAS=OFF
-DDARKNET_TRY_ROCM=OFF
-DGTEST=OFF # disable find_library
-DVCPKG_LOCK_FIND_PACKAGE_Doxygen=OFF
MAYBE_UNUSED_VARIABLES
DARKNET_TRY_OPENBLAS
)
vcpkg_cmake_install()
vcpkg_cmake_config_fixup()
vcpkg_copy_tools(AUTO_CLEAN TOOL_NAMES darknet uselib kmeansiou)
if ("opencv-cuda" IN_LIST FEATURES)
vcpkg_copy_tools(AUTO_CLEAN TOOL_NAMES uselib_track)
endif()
file(COPY "${SOURCE_PATH}/cfg" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}")
file(COPY "${SOURCE_PATH}/data" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}")
file(INSTALL "${SOURCE_PATH}/scripts/download_weights.ps1" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}/scripts")
vcpkg_copy_tools(AUTO_CLEAN TOOL_NAMES darknet)
file(COPY "${CURRENT_PACKAGES_DIR}/share/${PORT}/cfg" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}")
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share")
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
message(STATUS "To download weight files, please go to ${CURRENT_INSTALLED_DIR}/tools/${PORT}/scripts and run ./download_weights.ps1")
vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE")
vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE" "${caffe_license_file}")

View File

@@ -0,0 +1,29 @@
diff --git a/CM_dependencies.cmake b/CM_dependencies.cmake
index 1462d195..e26dc7d1 100644
--- a/CM_dependencies.cmake
+++ b/CM_dependencies.cmake
@@ -239,6 +239,7 @@ LIST (APPEND DARKNET_LINK_LIBS ${OpenCV_LIBS})
# ============
# == OpenMP ==
# ============
+set(OpenMP_RUNTIME_MSVC experimental)
FIND_PACKAGE (OpenMP QUIET) # optional
IF (NOT OPENMP_FOUND)
MESSAGE (WARNING "OpenMP not found. Building Darknet without support for OpenMP.")
@@ -248,15 +249,7 @@ ELSEIF (DARKNET_USE_ROCM)
ELSE ()
MESSAGE (STATUS "Found OpenMP ${OpenMP_VERSION}")
ADD_COMPILE_DEFINITIONS (DARKNET_OPENMP)
- LIST (APPEND DARKNET_LINK_LIBS OpenMP::OpenMP_CXX OpenMP::OpenMP_C)
- IF (WIN32)
- ADD_COMPILE_OPTIONS (/openmp:experimental)
- ELSE ()
- ADD_COMPILE_DEFINITIONS (_GLIBCXX_PARALLEL)
- ADD_COMPILE_OPTIONS (-fopenmp)
- ADD_COMPILE_OPTIONS (${OpenMP_C_FLAGS})
- ADD_COMPILE_OPTIONS (${OpenMP_CXX_FLAGS})
- ENDIF()
+ LIST (APPEND DARKNET_LINK_LIBS OpenMP::OpenMP_CXX)
ENDIF ()

View File

@@ -0,0 +1,35 @@
diff --git a/CM_dependencies.cmake b/CM_dependencies.cmake
index 53699a9b..1462d195 100644
--- a/CM_dependencies.cmake
+++ b/CM_dependencies.cmake
@@ -151,15 +151,15 @@ ENDIF ()
# ========================
# == Intel/AMD Hardware ==
# ========================
-IF (CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "x86" OR
- CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "x86_32" OR
- CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "x86_64" OR
- CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "AMD64")
+IF (CMAKE_SYSTEM_PROCESSOR MATCHES "x86" OR
+ CMAKE_SYSTEM_PROCESSOR MATCHES "x86_32" OR
+ CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64" OR
+ CMAKE_SYSTEM_PROCESSOR MATCHES "AMD64")
SET (HARDWARE_IS_X86 TRUE)
- MESSAGE (STATUS "Hardware is 32-bit or 64-bit, and seems to be Intel or AMD: ${CMAKE_HOST_SYSTEM_PROCESSOR}")
+ MESSAGE (STATUS "Hardware is 32-bit or 64-bit, and seems to be Intel or AMD: ${CMAKE_SYSTEM_PROCESSOR}")
ELSE ()
SET (HARDWARE_IS_X86 FALSE)
- MESSAGE (STATUS "Hardware does not appear to be 32-bit or 64-bit, Intel or AMD: ${CMAKE_HOST_SYSTEM_PROCESSOR}")
+ MESSAGE (STATUS "Hardware does not appear to be 32-bit or 64-bit, Intel or AMD: ${CMAKE_SYSTEM_PROCESSOR}")
ENDIF ()
@@ -277,7 +277,7 @@ ELSE ()
ADD_COMPILE_OPTIONS(-msse4.2)
ADD_COMPILE_OPTIONS(-msse4a)
ELSE ()
- LIST (APPEND CMAKE_CXX_FLAGS /arch:AVX2)
+ STRING (APPEND CMAKE_CXX_FLAGS " /arch:AVX2")
ENDIF()
ENDIF ()

View File

@@ -1,17 +1,18 @@
{
"name": "darknet",
"version-date": "2024-10-10",
"port-version": 1,
"description": "Darknet is an open source neural network framework written in C and CUDA. You only look once (YOLO) is a state-of-the-art, real-time object detection system, best example of darknet functionalities.",
"homepage": "https://github.com/alexeyab/darknet",
"license": null,
"version-date": "2025-10-24",
"description": "Darknet is an open source neural network framework written in C and CUDA for processing images or video frames in computer vision.",
"homepage": "https://darknetcv.ai/",
"license": "Apache-2.0 AND BSD-2-Clause",
"supports": "!android & !uwp & !(static & staticcrt)",
"dependencies": [
{
"name": "getopt",
"platform": "windows & !mingw"
"name": "opencv",
"default-features": false,
"features": [
"highgui"
]
},
"pthreads",
"stb",
{
"name": "vcpkg-cmake",
"host": true
@@ -25,59 +26,27 @@
"cuda": {
"description": "Build darknet with support for CUDA",
"dependencies": [
"cuda"
"cuda",
{
"name": "opencv",
"default-features": false
}
]
},
"cudnn": {
"description": "Build darknet with support for cuDNN",
"dependencies": [
"cuda",
"cudnn"
]
},
"full": {
"description": "Build darknet fully featured",
"dependencies": [
"cudnn",
{
"name": "darknet",
"features": [
"cuda",
"cudnn",
"opencv-cuda"
"cuda"
]
}
]
},
"opencv-base": {
"description": "Build darknet with support for latest version of OpenCV",
"dependencies": [
{
"name": "opencv",
"features": [
"ffmpeg"
]
}
]
},
"opencv-cuda": {
"description": "Build darknet with support for latest version of CUDA-enabled OpenCV",
"dependencies": [
{
"name": "darknet",
"features": [
"cuda",
"opencv-base"
]
},
{
"name": "opencv",
"features": [
"contrib",
"cuda",
"dnn"
]
}
]
"openmp": {
"description": "Build darknet with support for OpenMP"
}
}
}

View File

@@ -0,0 +1,18 @@
diff --git a/CM_version.cmake b/CM_version.cmake
index 95f29db2..115cb043 100644
--- a/CM_version.cmake
+++ b/CM_version.cmake
@@ -6,7 +6,6 @@
#
# v1.99-63-gc5c3569
#
-EXECUTE_PROCESS (COMMAND git describe --tags --dirty --long OUTPUT_VARIABLE DARKNET_VERSION_STRING OUTPUT_STRIP_TRAILING_WHITESPACE)
MESSAGE (STATUS "Darknet ${DARKNET_VERSION_STRING}")
STRING (REGEX MATCH "v([0-9]+)\.([0-9]+)-([0-9]+)-g([0-9a-fA-F]+)" _ ${DARKNET_VERSION_STRING})
@@ -14,5 +13,4 @@ STRING (REGEX MATCH "v([0-9]+)\.([0-9]+)-([0-9]+)-g([0-9a-fA-F]+)" _ ${DARKNET_V
SET (DARKNET_VERSION_SHORT ${CMAKE_MATCH_1}.${CMAKE_MATCH_2}.${CMAKE_MATCH_3})
-EXECUTE_PROCESS (COMMAND git branch --show-current OUTPUT_VARIABLE DARKNET_BRANCH_NAME OUTPUT_STRIP_TRAILING_WHITESPACE)
MESSAGE (STATUS "Darknet branch name: ${DARKNET_BRANCH_NAME}")

View File

@@ -0,0 +1,12 @@
diff --git a/src-lib/darkunistd.hpp b/src-lib/darkunistd.hpp
index 6c06aef..5f9c970 100644
--- a/src-lib/darkunistd.hpp
+++ b/src-lib/darkunistd.hpp
@@ -9,7 +9,6 @@
#include <winsock2.h>
#include <direct.h> /* for _getcwd() and _chdir() */
-#include "getopt.h"
#include <io.h>
#include <process.h> /* for getpid() and the exec..() family */
#include <stdlib.h>

View File

@@ -1629,6 +1629,7 @@ cgns[fortran](windows | android) = feature-fails # No fortran compiler installed
coroutine(osx) = fail # requires c++20
crashrpt(windows) = fail # precompiled header errors. See https://github.com/microsoft/vcpkg/issues/33470
ctbench(osx) = fail # requires C++ 20
darknet[openmp](osx) = feature-fails # openmp setup needed
date[remote-api](uwp) = feature-fails # error C2065: 'FOLDERID_ProgramFiles': undeclared identifier. See https://github.com/microsoft/vcpkg/issues/33610
dcmtk[core,iconv,icu,openssl,png,tiff,tools,xml2,zlib](osx) = combination-fails # missing symbols from libtiff. See https://github.com/microsoft/vcpkg/issues/33512
dcmtk[iconv](arm64 & windows & !uwp) = feature-fails # try_run

View File

@@ -2325,8 +2325,8 @@
"port-version": 0
},
"darknet": {
"baseline": "2024-10-10",
"port-version": 1
"baseline": "2025-10-24",
"port-version": 0
},
"darts-clone": {
"baseline": "1767ab87cffe",

View File

@@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "c9739d219193a43a3aff009726de3925f369f1e4",
"version-date": "2025-10-24",
"port-version": 0
},
{
"git-tree": "d78bba83f11a5d8d42c46768e3703cf5bea3a384",
"version-date": "2024-10-10",