aboutsummaryrefslogtreecommitdiff
path: root/ports/dlib
diff options
context:
space:
mode:
authorThad House <thadhouse1@gmail.com>2019-05-31 13:49:13 -0700
committerThad House <thadhouse1@gmail.com>2019-05-31 13:49:13 -0700
commit788af2a75cfddbb9ef4e4217f4c0b506d25f2f3b (patch)
tree173ade0e6960917458afe9dd9fb0c3c2b7f32051 /ports/dlib
parentf483ae4c7fd04eed671a1de595374f84175311e9 (diff)
parent26a9338c5055193915290527eacb37f2ac7fdcb8 (diff)
downloadvcpkg-788af2a75cfddbb9ef4e4217f4c0b506d25f2f3b.tar.gz
vcpkg-788af2a75cfddbb9ef4e4217f4c0b506d25f2f3b.zip
Merge master
Diffstat (limited to 'ports/dlib')
-rw-r--r--ports/dlib/CONTROL4
-rw-r--r--ports/dlib/find_blas.patch11
-rw-r--r--ports/dlib/force_finding_packages.patch147
-rw-r--r--ports/dlib/portfile.cmake19
4 files changed, 169 insertions, 12 deletions
diff --git a/ports/dlib/CONTROL b/ports/dlib/CONTROL
index ab2e80e87..43c689bc4 100644
--- a/ports/dlib/CONTROL
+++ b/ports/dlib/CONTROL
@@ -1,6 +1,6 @@
Source: dlib
-Version: 19.16-1
-Build-Depends: libjpeg-turbo, libpng, sqlite3, fftw3, openblas, clapack
+Version: 19.17
+Build-Depends: libjpeg-turbo, libpng, sqlite3, fftw3, openblas (!osx), clapack (!osx)
Description: Modern C++ toolkit containing machine learning algorithms and tools for creating complex software in C++
Feature: cuda
diff --git a/ports/dlib/find_blas.patch b/ports/dlib/find_blas.patch
new file mode 100644
index 000000000..3ea8d30ae
--- /dev/null
+++ b/ports/dlib/find_blas.patch
@@ -0,0 +1,11 @@
+--- a/dlib/cmake_utils/find_blas.cmake
++++ b/dlib/cmake_utils/find_blas.cmake
+@@ -414,7 +414,7 @@
+ if (lapack_found)
+ include(CheckFunctionExists)
+ include(CheckFortranFunctionExists)
+- set(CMAKE_REQUIRED_LIBRARIES ${lapack_libraries})
++ set(CMAKE_REQUIRED_LIBRARIES ${lapack_libraries} ${blas_libraries})
+
+ check_function_exists("sgesv" LAPACK_FOUND_C_UNMANGLED)
+ check_function_exists("sgesv_" LAPACK_FOUND_C_MANGLED)
diff --git a/ports/dlib/force_finding_packages.patch b/ports/dlib/force_finding_packages.patch
new file mode 100644
index 000000000..cd8be1607
--- /dev/null
+++ b/ports/dlib/force_finding_packages.patch
@@ -0,0 +1,147 @@
+--- a/dlib/CMakeLists.txt
++++ b/dlib/CMakeLists.txt
+@@ -430,70 +430,9 @@
+ endif()
+
+ if (DLIB_PNG_SUPPORT)
+- # try to find libpng
+- find_package(PNG QUIET)
+- # Make sure there isn't something wrong with the version of LIBPNG
+- # installed on this system. Also never link to anything from anaconda
+- # since it's probably broken.
+- if (PNG_FOUND AND NOT ("${PNG_INCLUDE_DIR}" MATCHES "(.*)(Ana|ana|mini)conda(.*)") AND NOT BUILDING_PYTHON_IN_MSVC)
+- set(CMAKE_REQUIRED_LIBRARIES ${PNG_LIBRARIES})
+- CHECK_FUNCTION_EXISTS(png_create_read_struct LIBPNG_IS_GOOD)
+- endif()
+- if (PNG_FOUND AND LIBPNG_IS_GOOD)
+- include_directories(${PNG_INCLUDE_DIR})
+- set (dlib_needed_libraries ${dlib_needed_libraries} ${PNG_LIBRARIES})
+- set(REQUIRES_LIBS " libpng")
+- else()
+- # If we can't find libpng then statically compile it in.
+- include_directories(external/libpng external/zlib)
+- set(source_files ${source_files}
+- external/libpng/arm/arm_init.c
+- external/libpng/arm/filter_neon_intrinsics.c
+- external/libpng/png.c
+- external/libpng/pngerror.c
+- external/libpng/pngget.c
+- external/libpng/pngmem.c
+- external/libpng/pngpread.c
+- external/libpng/pngread.c
+- external/libpng/pngrio.c
+- external/libpng/pngrtran.c
+- external/libpng/pngrutil.c
+- external/libpng/pngset.c
+- external/libpng/pngtrans.c
+- external/libpng/pngwio.c
+- external/libpng/pngwrite.c
+- external/libpng/pngwtran.c
+- external/libpng/pngwutil.c
+- external/zlib/adler32.c
+- external/zlib/compress.c
+- external/zlib/crc32.c
+- external/zlib/deflate.c
+- external/zlib/gzclose.c
+- external/zlib/gzlib.c
+- external/zlib/gzread.c
+- external/zlib/gzwrite.c
+- external/zlib/infback.c
+- external/zlib/inffast.c
+- external/zlib/inflate.c
+- external/zlib/inftrees.c
+- external/zlib/trees.c
+- external/zlib/uncompr.c
+- external/zlib/zutil.c
+- )
+-
+- include(cmake_utils/check_if_neon_available.cmake)
+- if (ARM_NEON_IS_AVAILABLE)
+- message (STATUS "NEON instructions will be used for libpng.")
+- enable_language(ASM)
+- set(source_files ${source_files}
+- external/libpng/arm/arm_init.c
+- external/libpng/arm/filter_neon_intrinsics.c
+- external/libpng/arm/filter_neon.S
+- )
+- set_source_files_properties(external/libpng/arm/filter_neon.S PROPERTIES COMPILE_FLAGS "${CMAKE_ASM_FLAGS} ${CMAKE_CXX_FLAGS} -x assembler-with-cpp")
+- endif()
+- set(REQUIRES_LIBS "")
+- endif()
++ find_package(PNG REQUIRED)
++ include_directories(${PNG_INCLUDE_DIR})
++ set (dlib_needed_libraries ${dlib_needed_libraries} ${PNG_LIBRARIES})
+ set(source_files ${source_files}
+ image_loader/png_loader.cpp
+ image_saver/save_png.cpp
+@@ -501,68 +440,8 @@
+ endif()
+
+ if (DLIB_JPEG_SUPPORT)
+- # try to find libjpeg
+- find_package(JPEG QUIET)
+- # Make sure there isn't something wrong with the version of libjpeg
+- # installed on this system. Also don't use the installed libjpeg
+- # if this is an APPLE system because apparently it's broken (as of 2015/01/01).
+- if (JPEG_FOUND AND NOT ("${JPEG_INCLUDE_DIR}" MATCHES "(.*)(Ana|ana|mini)conda(.*)") AND NOT BUILDING_PYTHON_IN_MSVC)
+- set(CMAKE_REQUIRED_LIBRARIES ${JPEG_LIBRARY})
+- CHECK_FUNCTION_EXISTS(jpeg_read_header LIBJPEG_IS_GOOD)
+- endif()
+- if (JPEG_FOUND AND LIBJPEG_IS_GOOD)
+- include_directories(${JPEG_INCLUDE_DIR})
+- set (dlib_needed_libraries ${dlib_needed_libraries} ${JPEG_LIBRARY})
+- else()
+- # If we can't find libjpeg then statically compile it in.
+- add_definitions(-DDLIB_JPEG_STATIC)
+- set(source_files ${source_files}
+- external/libjpeg/jcomapi.cpp
+- external/libjpeg/jdapimin.cpp
+- external/libjpeg/jdapistd.cpp
+- external/libjpeg/jdatasrc.cpp
+- external/libjpeg/jdcoefct.cpp
+- external/libjpeg/jdcolor.cpp
+- external/libjpeg/jddctmgr.cpp
+- external/libjpeg/jdhuff.cpp
+- external/libjpeg/jdinput.cpp
+- external/libjpeg/jdmainct.cpp
+- external/libjpeg/jdmarker.cpp
+- external/libjpeg/jdmaster.cpp
+- external/libjpeg/jdmerge.cpp
+- external/libjpeg/jdphuff.cpp
+- external/libjpeg/jdpostct.cpp
+- external/libjpeg/jdsample.cpp
+- external/libjpeg/jerror.cpp
+- external/libjpeg/jidctflt.cpp
+- external/libjpeg/jidctfst.cpp
+- external/libjpeg/jidctint.cpp
+- external/libjpeg/jidctred.cpp
+- external/libjpeg/jmemmgr.cpp
+- external/libjpeg/jmemnobs.cpp
+- external/libjpeg/jquant1.cpp
+- external/libjpeg/jquant2.cpp
+- external/libjpeg/jutils.cpp
+- external/libjpeg/jcapimin.cpp
+- external/libjpeg/jdatadst.cpp
+- external/libjpeg/jcparam.cpp
+- external/libjpeg/jcapistd.cpp
+- external/libjpeg/jcmarker.cpp
+- external/libjpeg/jcinit.cpp
+- external/libjpeg/jcmaster.cpp
+- external/libjpeg/jcdctmgr.cpp
+- external/libjpeg/jccoefct.cpp
+- external/libjpeg/jccolor.cpp
+- external/libjpeg/jchuff.cpp
+- external/libjpeg/jcmainct.cpp
+- external/libjpeg/jcphuff.cpp
+- external/libjpeg/jcprepct.cpp
+- external/libjpeg/jcsample.cpp
+- external/libjpeg/jfdctint.cpp
+- external/libjpeg/jfdctflt.cpp
+- external/libjpeg/jfdctfst.cpp
+- )
+- endif()
++ find_package(JPEG REQUIRED)
++ include_directories(${JPEG_INCLUDE_DIR})
+ set(source_files ${source_files}
+ image_loader/jpeg_loader.cpp
+ image_saver/save_jpeg.cpp
diff --git a/ports/dlib/portfile.cmake b/ports/dlib/portfile.cmake
index ebfd00766..114c9b934 100644
--- a/ports/dlib/portfile.cmake
+++ b/ports/dlib/portfile.cmake
@@ -1,19 +1,18 @@
include(vcpkg_common_functions)
-if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
- message("dlib only supports static linkage")
- set(VCPKG_LIBRARY_LINKAGE "static")
-endif()
+vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO davisking/dlib
- REF v19.16
- SHA512 4e040ef88acff05e1a48e499b813c876b22ad3f989d076bdf19969d01036b62e51a0dff30b70046910ba31dfa1b1c2450a7fad41ae3142b7285ed74b8d584887
+ REF v19.17
+ SHA512 8574f48d0cc55685d494b3933079c16526fc7cfa3df85a76d51a1f13bebeccf3b6d7247981b53bd1c9e6e664e42245e518cefadf3420be1ab25b5dd6b8d55441
HEAD_REF master
PATCHES
fix-mac-jpeg.patch
fix-sqlite3-fftw-linkage.patch
+ force_finding_packages.patch
+ find_blas.patch
)
file(REMOVE_RECURSE ${SOURCE_PATH}/dlib/external/libjpeg)
@@ -32,7 +31,7 @@ endif()
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
- PREFER_NINJA
+ PREFER_NINJA
OPTIONS
-DDLIB_LINK_WITH_SQLITE3=ON
-DDLIB_USE_FFTW=ON
@@ -43,7 +42,7 @@ vcpkg_configure_cmake(
-DDLIB_USE_CUDA=${WITH_CUDA}
-DDLIB_GIF_SUPPORT=OFF
-DDLIB_USE_MKL_FFT=OFF
- -DCMAKE_DEBUG_POSTFIX=d
+ -DCMAKE_DEBUG_POSTFIX=d
OPTIONS_DEBUG
-DDLIB_ENABLE_ASSERTS=ON
#-DDLIB_ENABLE_STACK_TRACE=ON
@@ -61,7 +60,7 @@ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/dlib/all)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/dlib/appveyor)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/dlib/test)
-file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/dlib/travis)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/dlib/travis)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/dlib/cmake_utils/test_for_neon)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/dlib/cmake_utils/test_for_cudnn)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/dlib/cmake_utils/test_for_cuda)
@@ -78,5 +77,5 @@ file(WRITE ${CURRENT_PACKAGES_DIR}/include/dlib/config.h "${_contents}")
# Handle copyright
file(COPY ${SOURCE_PATH}/dlib/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/dlib)
-file(RENAME ${CURRENT_PACKAGES_DIR}/share/dlib/LICENSE.txt ${CURRENT_PACKAGES_DIR}/share/dlib/COPYRIGHT)
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/dlib/LICENSE.txt ${CURRENT_PACKAGES_DIR}/share/dlib/copyright)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/share/doc)