aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonLiu1993 <63675417+JonLiu1993@users.noreply.github.com>2021-01-06 04:10:06 +0800
committerGitHub <noreply@github.com>2021-01-05 12:10:06 -0800
commit6b52be61cadf212a1b6d47b225b42782bf67d8b6 (patch)
tree9d1481268ddae9bf77fe5f86c1198bdaf8743bc6
parent215d38b4adf65e8c5283b554d205e70f9e4f12eb (diff)
downloadvcpkg-6b52be61cadf212a1b6d47b225b42782bf67d8b6.tar.gz
vcpkg-6b52be61cadf212a1b6d47b225b42782bf67d8b6.zip
[darknet] yolo v4 weights's hash need to update (#15296)
* [darknet] yolo v4 weights's hash need to update * Add vcpkg_check_feature * Modify FEATURE_OPTIONS
-rw-r--r--ports/darknet/CONTROL2
-rw-r--r--ports/darknet/portfile.cmake55
2 files changed, 14 insertions, 43 deletions
diff --git a/ports/darknet/CONTROL b/ports/darknet/CONTROL
index 25617ab14..b41b9737d 100644
--- a/ports/darknet/CONTROL
+++ b/ports/darknet/CONTROL
@@ -1,6 +1,6 @@
Source: darknet
Version: 2020-08-30
-Port-Version: 1
+Port-Version: 2
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.
Build-Depends: pthreads, stb
diff --git a/ports/darknet/portfile.cmake b/ports/darknet/portfile.cmake
index 54f204f84..d786e196e 100644
--- a/ports/darknet/portfile.cmake
+++ b/ports/darknet/portfile.cmake
@@ -8,42 +8,16 @@ vcpkg_from_github(
0001-rename-_castu32_f32-to-gemm_castu32_f32.patch
)
-# enable CUDA inside DARKNET
-set(ENABLE_CUDA OFF)
-if("cuda" IN_LIST FEATURES)
- set(ENABLE_CUDA ON)
-endif()
-
-set(ENABLE_OPENCV OFF)
-# enable OPENCV (basic version) inside DARKNET
-if("opencv-base" IN_LIST FEATURES)
- set(ENABLE_OPENCV ON)
-endif()
-if("opencv2-base" IN_LIST FEATURES)
- set(ENABLE_OPENCV ON)
-endif()
-if("opencv3-base" IN_LIST FEATURES)
- set(ENABLE_OPENCV ON)
-endif()
-
-# enable OPENCV (with its own CUDA feature enabled) inside DARKNET
-# (note: this does not mean that DARKNET itself will have CUDA support since by design it is independent, to have it you must require both opencv-cuda and cuda features!)
-# DARKNET will be automatically able to distinguish an OpenCV that is built with or without CUDA support.
-if("opencv-cuda" IN_LIST FEATURES)
- set(ENABLE_OPENCV ON)
-endif()
-if("opencv2-cuda" IN_LIST FEATURES)
- set(ENABLE_OPENCV ON)
-endif()
-if("opencv3-cuda" IN_LIST FEATURES)
- set(ENABLE_OPENCV ON)
-endif()
-
-# enable CUDNN inside DARKNET (which depends on the "cuda" feature by design)
-set(ENABLE_CUDNN OFF)
-if("cudnn" IN_LIST FEATURES)
- set(ENABLE_CUDNN ON)
-endif()
+vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
+ cuda ENABLE_CUDA
+ opencv-base ENABLE_OPENCV
+ opencv2-base ENABLE_OPENCV
+ opencv3-base ENABLE_OPENCV
+ opencv-cuda ENABLE_OPENCV
+ opencv2-cuda ENABLE_OPENCV
+ opencv3-cuda ENABLE_OPENCV
+ cudnn ENABLE_CUDNN
+)
if ("cuda" IN_LIST FEATURES)
if (NOT VCPKG_CMAKE_SYSTEM_NAME AND NOT ENV{CUDACXX})
@@ -56,7 +30,7 @@ if("weights" IN_LIST FEATURES)
vcpkg_download_distfile(YOLOV4-TINY_WEIGHTS
URLS "https://github.com/AlexeyAB/darknet/releases/download/darknet_yolo_v4_pre/yolov4-tiny.weights"
FILENAME "darknet-cache/yolov4-tiny.weights"
- SHA512 804ca2ab8e3699d31c95bf773d22f901f186703487c7945f30dc2dbb808094793362cb6f5da5cd0b4b83f820c8565a3cba22fafa069ee6ca2a925677137d95f4
+ SHA512 7d4d9fe150f9fe3ea7d2310f1445fe983b31fbf06d301c70ecfe00e8559e6f1bf940198c2dd55db772238f23ea0092fb6553558e5414f3ee173b8b28e53c5b54
)
vcpkg_download_distfile(YOLOV4_WEIGHTS
URLS "https://github.com/AlexeyAB/darknet/releases/download/darknet_yolo_v3_optimal/yolov4.weights"
@@ -99,7 +73,7 @@ if("weights-train" IN_LIST FEATURES)
vcpkg_download_distfile(YOLOV4-TINY-CONV-29
URLS "https://github.com/AlexeyAB/darknet/releases/download/darknet_yolo_v4_pre/yolov4-tiny.conv.29"
FILENAME "darknet-cache/yolov4-tiny.conv.29"
- SHA512 318e47f4bdf43b7f4eff8f3669bc9ba66cd7bd8ffb31df5bc1978682c85fec8e63a8349958022fd933cc676cbf5241953f2181bf4d1789f7cf9d371e012e3e49
+ SHA512 d145deb80aea3d422752e784323d89919281ed7a37d15f939f5b680ff62e502072a30e074c34a09026669126d360c7d6817ea1afa53cfa53c56bd1e16333a602
)
vcpkg_download_distfile(YOLOV4-CONV-137
URLS "https://github.com/AlexeyAB/darknet/releases/download/darknet_yolo_v3_optimal/yolov4.conv.137"
@@ -128,12 +102,9 @@ vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
DISABLE_PARALLEL_CONFIGURE
PREFER_NINJA
- OPTIONS
+ OPTIONS ${FEATURE_OPTIONS}
-DINSTALL_BIN_DIR:STRING=bin
-DINSTALL_LIB_DIR:STRING=lib
- -DENABLE_CUDA=${ENABLE_CUDA}
- -DENABLE_CUDNN=${ENABLE_CUDNN}
- -DENABLE_OPENCV=${ENABLE_OPENCV}
)
vcpkg_install_cmake()