aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefano Sinigardi <stesinigardi@hotmail.com>2019-03-22 18:25:15 +0100
committerVictor Romero <romerosanchezv@gmail.com>2019-03-22 10:25:15 -0700
commit35892da81979aa7e73ef8769cf47aaced2d5a5ce (patch)
treebbe4b76df8a5561a7eee8ab58575155f10bdf044
parent08697ad73da34fc1fea96c2604f2fb7b4826e8dc (diff)
downloadvcpkg-35892da81979aa7e73ef8769cf47aaced2d5a5ce.tar.gz
vcpkg-35892da81979aa7e73ef8769cf47aaced2d5a5ce.zip
[darknet] fix static build (#5771)
-rw-r--r--ports/darknet/CONTROL2
-rw-r--r--ports/darknet/dont_use_integrated_stb_lib.patch37
-rw-r--r--ports/darknet/enable_standard_installation.patch14
-rw-r--r--ports/darknet/fix_cmakelists.patch49
-rw-r--r--ports/darknet/portfile.cmake14
5 files changed, 56 insertions, 60 deletions
diff --git a/ports/darknet/CONTROL b/ports/darknet/CONTROL
index 250f1b425..bc6526318 100644
--- a/ports/darknet/CONTROL
+++ b/ports/darknet/CONTROL
@@ -1,5 +1,5 @@
Source: darknet
-Version: 1.0.0
+Version: 1.0.0-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.
Build-Depends: pthreads (windows), stb
Default-Features: weights
diff --git a/ports/darknet/dont_use_integrated_stb_lib.patch b/ports/darknet/dont_use_integrated_stb_lib.patch
deleted file mode 100644
index f4c526fae..000000000
--- a/ports/darknet/dont_use_integrated_stb_lib.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index a5385ae..41514af 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -75,7 +75,10 @@ if(USE_INTEGRATED_LIBS)
- include_directories(${CMAKE_CURRENT_LIST_DIR}/3rdparty/include)
- set(PThreads_windows_INCLUDE_DIR ${CMAKE_CURRENT_LIST_DIR}/3rdparty/include)
- set(PThreads_windows_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/3rdparty/lib/x64/pthreadVC2.lib)
-+ set(STB_INCLUDE_PATH ${CMAKE_CURRENT_LIST_DIR}/3rdparty/include)
- add_definitions(-D_TIMESPEC_DEFINED)
-+else()
-+ find_path(STB_INCLUDE_PATH NAMES stb.h "The directory where stb.h resides")
- endif()
-
- set(CMAKE_DEBUG_POSTFIX d)
-@@ -240,7 +243,7 @@ if(OpenCV_VERSION VERSION_GREATER "3.0" AND NOT SKIP_USELIB_TRACK)
- add_executable(uselib_track ${CMAKE_CURRENT_LIST_DIR}/src/yolo_console_dll.cpp)
- target_compile_definitions(uselib_track PRIVATE TRACK_OPTFLOW=1)
- set_target_properties(uselib_track PROPERTIES LINKER_LANGUAGE CXX)
-- target_include_directories(uselib_track PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/include> $<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/src> $<INSTALL_INTERFACE:include>)
-+ target_include_directories(uselib_track PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/include> $<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/src> $<INSTALL_INTERFACE:include> $<BUILD_INTERFACE:${STB_INCLUDE_PATH}>)
- target_link_libraries(uselib_track PRIVATE ${OpenCV_LIBS})
- endif()
-
-@@ -251,9 +254,9 @@ add_executable(darknet ${CMAKE_CURRENT_LIST_DIR}/src/darknet.c ${sources} ${head
- set_source_files_properties(${CMAKE_CURRENT_LIST_DIR}/src/darknet.c PROPERTIES LANGUAGE CXX)
- set_target_properties(darknet PROPERTIES LINKER_LANGUAGE CXX)
-
--target_include_directories(darknet PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/include> $<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/src> $<INSTALL_INTERFACE:include>)
--target_include_directories(darklib PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/include> $<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/src> $<INSTALL_INTERFACE:include>)
--target_include_directories(uselib PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/include> $<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/src> $<INSTALL_INTERFACE:include>)
-+target_include_directories(darknet PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/include> $<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/src> $<INSTALL_INTERFACE:include> $<BUILD_INTERFACE:${STB_INCLUDE_PATH}>)
-+target_include_directories(darklib PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/include> $<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/src> $<INSTALL_INTERFACE:include> $<BUILD_INTERFACE:${STB_INCLUDE_PATH}>)
-+target_include_directories(uselib PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/include> $<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/src> $<INSTALL_INTERFACE:include> $<BUILD_INTERFACE:${STB_INCLUDE_PATH}>)
-
- if(CUDNN_FOUND)
- target_link_libraries(darknet PRIVATE CuDNN::CuDNN)
diff --git a/ports/darknet/enable_standard_installation.patch b/ports/darknet/enable_standard_installation.patch
deleted file mode 100644
index 7af6c8c53..000000000
--- a/ports/darknet/enable_standard_installation.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 26c0ad7..9f425ad 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -25,8 +25,7 @@ enable_language(CXX)
- set(CMAKE_CXX_STANDARD 11)
- set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/cmake/Modules/" ${CMAKE_MODULE_PATH})
-
--set(CMAKE_INSTALL_PREFIX "${CMAKE_CURRENT_LIST_DIR}" CACHE PATH "Install prefix" FORCE)
--set(INSTALL_BIN_DIR "${CMAKE_CURRENT_LIST_DIR}" CACHE PATH "Path where exe and dll will be installed" FORCE)
-+set(INSTALL_BIN_DIR "bin" CACHE PATH "Path where exe and dll will be installed")
- set(INSTALL_LIB_DIR "lib" CACHE PATH "Path where lib will be installed")
- set(INSTALL_INCLUDE_DIR "include" CACHE PATH "Path where headers will be installed")
- set(INSTALL_CMAKE_DIR "share/darknet" CACHE PATH "Path where cmake configs will be installed")
diff --git a/ports/darknet/fix_cmakelists.patch b/ports/darknet/fix_cmakelists.patch
new file mode 100644
index 000000000..62aa61fa6
--- /dev/null
+++ b/ports/darknet/fix_cmakelists.patch
@@ -0,0 +1,49 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 6a5076a..52d19a3 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -25,8 +25,7 @@ enable_language(CXX)
+ set(CMAKE_CXX_STANDARD 11)
+ set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/cmake/Modules/" ${CMAKE_MODULE_PATH})
+
+-set(CMAKE_INSTALL_PREFIX "${CMAKE_CURRENT_LIST_DIR}" CACHE PATH "Install prefix" FORCE)
+-set(INSTALL_BIN_DIR "${CMAKE_CURRENT_LIST_DIR}" CACHE PATH "Path where exe and dll will be installed" FORCE)
++set(INSTALL_BIN_DIR "bin" CACHE PATH "Path where exe and dll will be installed" FORCE)
+ set(INSTALL_LIB_DIR "lib" CACHE PATH "Path where lib will be installed")
+ set(INSTALL_INCLUDE_DIR "include" CACHE PATH "Path where headers will be installed")
+ set(INSTALL_CMAKE_DIR "share/darknet" CACHE PATH "Path where cmake configs will be installed")
+@@ -76,7 +75,6 @@ if(USE_INTEGRATED_LIBS)
+ set(PThreads_windows_DIR ${CMAKE_CURRENT_LIST_DIR}/3rdparty/pthreads CACHE PATH "Path where pthreads for windows can be located")
+ add_definitions(-D_TIMESPEC_DEFINED)
+ endif()
+-set(Stb_DIR ${CMAKE_CURRENT_LIST_DIR}/3rdparty/stb CACHE PATH "Path where Stb image library can be located")
+
+ set(CMAKE_DEBUG_POSTFIX d)
+ add_definitions(-DUSE_CMAKE_LIBS)
+@@ -323,21 +321,19 @@ endif()
+
+ set_target_properties(darklib PROPERTIES PUBLIC_HEADER "${exported_headers};${CMAKE_CURRENT_LIST_DIR}/include/yolo_v2_class.hpp")
+
+-install(TARGETS darklib uselib darknet EXPORT DarknetTargets
++install(TARGETS darklib EXPORT DarknetTargets
+ RUNTIME DESTINATION "${INSTALL_BIN_DIR}"
+ LIBRARY DESTINATION "${INSTALL_LIB_DIR}"
+ ARCHIVE DESTINATION "${INSTALL_LIB_DIR}"
+ PUBLIC_HEADER DESTINATION "${INSTALL_INCLUDE_DIR}"
+ COMPONENT dev
+ )
++install(TARGETS uselib darknet
++ DESTINATION "${INSTALL_BIN_DIR}"
++)
+ if(OpenCV_VERSION VERSION_GREATER "3.0" AND NOT SKIP_USELIB_TRACK)
+ install(TARGETS uselib_track
+- EXPORT DarknetTargets
+- RUNTIME DESTINATION "${INSTALL_BIN_DIR}"
+- LIBRARY DESTINATION "${INSTALL_LIB_DIR}"
+- ARCHIVE DESTINATION "${INSTALL_LIB_DIR}"
+- PUBLIC_HEADER DESTINATION "${INSTALL_INCLUDE_DIR}"
+- COMPONENT dev
++ DESTINATION "${INSTALL_BIN_DIR}"
+ )
+ endif()
+
diff --git a/ports/darknet/portfile.cmake b/ports/darknet/portfile.cmake
index 890ff36ec..d4551e6fb 100644
--- a/ports/darknet/portfile.cmake
+++ b/ports/darknet/portfile.cmake
@@ -11,12 +11,11 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO AlexeyAB/darknet
- REF dd27d67f58f563bb6bb2af7bb6374f8a59cebcde
- SHA512 6821ba9cd5dc185759492deaa2d20ac1ce60778a8aec9c372c96887d9650f9a97a3b7a3a5860b70078f483e62224772ef1078ecb9c03b1b3bed230569cc7b919
+ REF 1cd332e4cac001ffcc12a24c72640fe02b69a8a0
+ SHA512 313018d51747b40244d3a828dce8deb35f900a6be1198f0f1af5647f3889ead7f1ac78cdc4223cfe85d279ca21000df1c8feac02e703e5b91af939e26e4d5571
HEAD_REF master
PATCHES
- enable_standard_installation.patch
- dont_use_integrated_stb_lib.patch
+ fix_cmakelists.patch
)
set(ENABLE_CUDA OFF)
@@ -52,8 +51,8 @@ if("weights" IN_LIST FEATURES)
)
endif()
-file(REMOVE ${SOURCE_PATH}/src/stb_image.h)
-file(REMOVE ${SOURCE_PATH}/src/stb_image_write.h)
+#make sure we don't use any integrated pre-built library
+file(REMOVE_RECURSE ${SOURCE_PATH}/3rdparty)
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
@@ -92,8 +91,7 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin)
endif()
-#use vcpkg_fixup_cmake_targets()?
-file(RENAME ${CURRENT_PACKAGES_DIR}/debug/share/darknet/DarknetTargets.cmake ${CURRENT_PACKAGES_DIR}/share/darknet/DarknetTargets.cmake)
+vcpkg_fixup_cmake_targets()
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)