aboutsummaryrefslogtreecommitdiff
path: root/ports/opencv
diff options
context:
space:
mode:
authorJan HrubĂ˝ <jhruby.web@gmail.com>2017-03-13 08:56:05 +0100
committerGitHub <noreply@github.com>2017-03-13 08:56:05 +0100
commit665f4118f603c5858217ed7a2f2f824b18ff4fc5 (patch)
treef0167041edf71e90f2331b5025f603392a8de67a /ports/opencv
parent1bec0fcb73073b5b1719f454c368a63f1bff625e (diff)
parent1c9873a0daf625f67474aaf3e163c592c27ecb65 (diff)
downloadvcpkg-665f4118f603c5858217ed7a2f2f824b18ff4fc5.tar.gz
vcpkg-665f4118f603c5858217ed7a2f2f824b18ff4fc5.zip
Merge pull request #1 from Microsoft/master
pull
Diffstat (limited to 'ports/opencv')
-rw-r--r--ports/opencv/CONTROL4
-rw-r--r--ports/opencv/opencv-installation-options.patch (renamed from ports/opencv/0001-OpenCV-should-follow-FHS-like-conventions.patch)117
-rw-r--r--ports/opencv/portfile.cmake78
3 files changed, 88 insertions, 111 deletions
diff --git a/ports/opencv/CONTROL b/ports/opencv/CONTROL
index a22785929..0c9766079 100644
--- a/ports/opencv/CONTROL
+++ b/ports/opencv/CONTROL
@@ -1,4 +1,4 @@
Source: opencv
-Version: 3.1.0
-Build-Depends: zlib, libpng, libjpeg-turbo
+Version: 3.2.0
+Build-Depends: zlib, libpng, libjpeg-turbo, tiff
Description: computer vision library
diff --git a/ports/opencv/0001-OpenCV-should-follow-FHS-like-conventions.patch b/ports/opencv/opencv-installation-options.patch
index 1824aa339..cfb401836 100644
--- a/ports/opencv/0001-OpenCV-should-follow-FHS-like-conventions.patch
+++ b/ports/opencv/opencv-installation-options.patch
@@ -1,84 +1,60 @@
-From e396a74da8e7c9c06f3145de65647d7d48524a07 Mon Sep 17 00:00:00 2001
-From: Robert Schumacher <roschuma@microsoft.com>
-Date: Thu, 5 May 2016 04:16:18 -0700
-Subject: [PATCH] OpenCV should follow FHS-like conventions
-
----
- CMakeLists.txt | 11 +++++++----
- cmake/OpenCVGenConfig.cmake | 11 +++++------
- cmake/OpenCVGenHeaders.cmake | 8 ++++++--
- cmake/OpenCVModule.cmake | 4 +++-
- data/CMakeLists.txt | 6 ++++--
- include/CMakeLists.txt | 6 ++++--
- 6 files changed, 29 insertions(+), 17 deletions(-)
-
diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 3ee50ff..8e3f57d 100644
+index cc45f6f..b4265bd 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
-@@ -250,6 +250,8 @@ OCV_OPTION(INSTALL_PYTHON_EXAMPLES "Install Python examples" OFF )
+@@ -263,6 +263,10 @@ OCV_OPTION(INSTALL_PYTHON_EXAMPLES "Install Python examples" OFF )
OCV_OPTION(INSTALL_ANDROID_EXAMPLES "Install Android examples" OFF IF ANDROID )
OCV_OPTION(INSTALL_TO_MANGLED_PATHS "Enables mangled install paths, that help with side by side installs." OFF IF (UNIX AND NOT ANDROID AND NOT APPLE_FRAMEWORK AND BUILD_SHARED_LIBS) )
OCV_OPTION(INSTALL_TESTS "Install accuracy and performance test binaries and test data" OFF)
+OCV_OPTION(INSTALL_HEADERS "Install header files" ON)
++OCV_OPTION(INSTALL_LICENSE "Install license file" ON)
+OCV_OPTION(INSTALL_OTHER "Install other files" ON)
++OCV_OPTION(INSTALL_FORCE_UNIX_PATHS "Force unix-style installation" OFF)
# OpenCV build options
# ===================================================
-@@ -315,7 +317,9 @@ else()
+@@ -330,7 +334,9 @@ else()
endif()
if(WIN32 AND CMAKE_HOST_SYSTEM_NAME MATCHES Windows)
- if(DEFINED OpenCV_RUNTIME AND DEFINED OpenCV_ARCH)
+ if(DEFINED OpenCV_DISABLE_ARCH_PATH)
-+ set(OpenCV_INSTALL_BINARIES_PREFIX "")
++ ocv_update(OpenCV_INSTALL_BINARIES_PREFIX "")
+ elseif(DEFINED OpenCV_RUNTIME AND DEFINED OpenCV_ARCH)
- set(OpenCV_INSTALL_BINARIES_PREFIX "${OpenCV_ARCH}/${OpenCV_RUNTIME}/")
+ ocv_update(OpenCV_INSTALL_BINARIES_PREFIX "${OpenCV_ARCH}/${OpenCV_RUNTIME}/")
else()
message(STATUS "Can't detect runtime and/or arch")
-@@ -379,7 +383,7 @@ else()
- set(OPENCV_3P_LIB_INSTALL_PATH "${OpenCV_INSTALL_BINARIES_PREFIX}staticlib${LIB_SUFFIX}")
- set(OPENCV_SAMPLES_SRC_INSTALL_PATH samples/native)
- set(OPENCV_JAR_INSTALL_PATH java)
-- set(OPENCV_OTHER_INSTALL_PATH etc)
-+ set(OPENCV_OTHER_INSTALL_PATH share/opencv)
- else()
- set(OPENCV_LIB_INSTALL_PATH lib${LIB_SUFFIX})
- set(OPENCV_3P_LIB_INSTALL_PATH share/OpenCV/3rdparty/${OPENCV_LIB_INSTALL_PATH})
-@@ -736,8 +740,7 @@ endif()
+@@ -784,7 +790,7 @@ if(NOT OPENCV_LICENSE_FILE)
+ endif()
+
# for UNIX it does not make sense as LICENSE and readme will be part of the package automatically
- if(ANDROID OR NOT UNIX)
+-if(ANDROID OR NOT UNIX)
++if(ANDROID OR NOT UNIX AND INSTALL_LICENSE)
install(FILES ${OPENCV_LICENSE_FILE}
-- PERMISSIONS OWNER_READ GROUP_READ WORLD_READ
-- DESTINATION ${CMAKE_INSTALL_PREFIX} COMPONENT libs)
-+ DESTINATION ${CMAKE_INSTALL_PREFIX}/share/opencv RENAME copyright CONFIGURATIONS Release COMPONENT libs)
- if(OPENCV_README_FILE)
- install(FILES ${OPENCV_README_FILE}
- PERMISSIONS OWNER_READ GROUP_READ WORLD_READ
+ PERMISSIONS OWNER_READ GROUP_READ WORLD_READ
+ DESTINATION ./ COMPONENT libs)
diff --git a/cmake/OpenCVGenConfig.cmake b/cmake/OpenCVGenConfig.cmake
-index dbfd7ca..94fc4a9 100644
+index 206acfd..b4c223e 100644
--- a/cmake/OpenCVGenConfig.cmake
+++ b/cmake/OpenCVGenConfig.cmake
-@@ -139,14 +139,13 @@ if(WIN32)
- configure_file("${OpenCV_SOURCE_DIR}/cmake/templates/OpenCVConfig-version.cmake.in" "${CMAKE_BINARY_DIR}/win-install/OpenCVConfig-version.cmake" @ONLY)
- if (CMAKE_HOST_SYSTEM_NAME MATCHES Windows)
+@@ -91,7 +91,7 @@ function(ocv_gen_config TMP_DIR NESTED_PATH ROOT_NAME)
+ endif()
+ endfunction()
+
+-if(UNIX AND NOT ANDROID)
++if((UNIX AND NOT ANDROID) OR INSTALL_FORCE_UNIX_PATHS)
+ ocv_gen_config("${CMAKE_BINARY_DIR}/unix-install" "" "")
+ endif()
+
+@@ -103,7 +103,7 @@ endif()
+ # --------------------------------------------------------------------------------------------
+ # Part 3/3: ${BIN_DIR}/win-install/OpenCVConfig.cmake -> For use within binary installers/packages
+ # --------------------------------------------------------------------------------------------
+-if(WIN32)
++if(WIN32 AND NOT INSTALL_FORCE_UNIX_PATHS)
+ if(CMAKE_HOST_SYSTEM_NAME MATCHES Windows)
if(BUILD_SHARED_LIBS)
-- install(FILES "${CMAKE_BINARY_DIR}/win-install/OpenCVConfig.cmake" DESTINATION "${OpenCV_INSTALL_BINARIES_PREFIX}lib" COMPONENT dev)
-- install(EXPORT OpenCVModules DESTINATION "${OpenCV_INSTALL_BINARIES_PREFIX}lib" FILE OpenCVModules${modules_file_suffix}.cmake COMPONENT dev)
-+ install(FILES "${CMAKE_BINARY_DIR}/win-install/OpenCVConfig.cmake" DESTINATION "cmake" COMPONENT dev)
-+ install(EXPORT OpenCVModules DESTINATION "cmake" FILE OpenCVModules${modules_file_suffix}.cmake COMPONENT dev)
- else()
-- install(FILES "${CMAKE_BINARY_DIR}/win-install/OpenCVConfig.cmake" DESTINATION "${OpenCV_INSTALL_BINARIES_PREFIX}staticlib" COMPONENT dev)
-- install(EXPORT OpenCVModules DESTINATION "${OpenCV_INSTALL_BINARIES_PREFIX}staticlib" FILE OpenCVModules${modules_file_suffix}.cmake COMPONENT dev)
-+ install(FILES "${CMAKE_BINARY_DIR}/win-install/OpenCVConfig.cmake" DESTINATION "cmake" COMPONENT dev)
-+ install(EXPORT OpenCVModules DESTINATION "cmake" FILE OpenCVModules${modules_file_suffix}.cmake COMPONENT dev)
- endif()
-- install(FILES "${CMAKE_BINARY_DIR}/win-install/OpenCVConfig-version.cmake" DESTINATION "${CMAKE_INSTALL_PREFIX}" COMPONENT dev)
-- install(FILES "${OpenCV_SOURCE_DIR}/cmake/OpenCVConfig.cmake" DESTINATION "${CMAKE_INSTALL_PREFIX}/" COMPONENT dev)
-+ install(FILES "${CMAKE_BINARY_DIR}/win-install/OpenCVConfig-version.cmake" DESTINATION "cmake" COMPONENT dev)
- else ()
- install(FILES "${CMAKE_BINARY_DIR}/win-install/OpenCVConfig.cmake" DESTINATION "${OpenCV_INSTALL_BINARIES_PREFIX}lib/cmake/opencv-${OPENCV_VERSION}" COMPONENT dev)
- install(EXPORT OpenCVModules DESTINATION "${OpenCV_INSTALL_BINARIES_PREFIX}lib/cmake/opencv-${OPENCV_VERSION}" FILE OpenCVModules${modules_file_suffix}.cmake COMPONENT dev)
+ set(_lib_suffix "lib")
diff --git a/cmake/OpenCVGenHeaders.cmake b/cmake/OpenCVGenHeaders.cmake
index 2988979..810871b 100644
--- a/cmake/OpenCVGenHeaders.cmake
@@ -103,10 +79,10 @@ index 2988979..810871b 100644
+ install(FILES "${OPENCV_CONFIG_FILE_INCLUDE_DIR}/opencv2/opencv_modules.hpp" DESTINATION ${OPENCV_INCLUDE_INSTALL_PATH}/opencv2 COMPONENT dev)
+endif()
diff --git a/cmake/OpenCVModule.cmake b/cmake/OpenCVModule.cmake
-index 3385385..530e53f 100644
+index 742a287..c8242dd 100644
--- a/cmake/OpenCVModule.cmake
+++ b/cmake/OpenCVModule.cmake
-@@ -879,7 +879,9 @@ macro(_ocv_create_module)
+@@ -880,7 +880,9 @@ macro(_ocv_create_module)
foreach(hdr ${OPENCV_MODULE_${m}_HEADERS})
string(REGEX REPLACE "^.*opencv2/" "opencv2/" hdr2 "${hdr}")
if(NOT hdr2 MATCHES "opencv2/${m}/private.*" AND hdr2 MATCHES "^(opencv2/?.*)/[^/]+.h(..)?$" )
@@ -135,22 +111,27 @@ index 1f0d720..86b9d89 100644
if(INSTALL_TESTS AND OPENCV_TEST_DATA_PATH)
install(DIRECTORY "${OPENCV_TEST_DATA_PATH}/" DESTINATION "${OPENCV_TEST_DATA_INSTALL_PATH}" COMPONENT "tests")
diff --git a/include/CMakeLists.txt b/include/CMakeLists.txt
-index b4e48e6..58dccc7 100644
+index b4e48e6..d5ed455 100644
--- a/include/CMakeLists.txt
+++ b/include/CMakeLists.txt
@@ -1,7 +1,9 @@
- file(GLOB old_hdrs "opencv/*.h*")
+-file(GLOB old_hdrs "opencv/*.h*")
-install(FILES ${old_hdrs}
-+if(INSTALL_HEADERS)
-+ install(FILES ${old_hdrs}
- DESTINATION ${OPENCV_INCLUDE_INSTALL_PATH}/opencv
- COMPONENT dev)
+- DESTINATION ${OPENCV_INCLUDE_INSTALL_PATH}/opencv
+- COMPONENT dev)
-install(FILES "opencv2/opencv.hpp"
-+ install(FILES "opencv2/opencv.hpp"
- DESTINATION ${OPENCV_INCLUDE_INSTALL_PATH}/opencv2
- COMPONENT dev)
+- DESTINATION ${OPENCV_INCLUDE_INSTALL_PATH}/opencv2
+- COMPONENT dev)
++if(INSTALL_HEADERS)
++ file(GLOB old_hdrs "opencv/*.h*")
++ install(FILES ${old_hdrs}
++ DESTINATION ${OPENCV_INCLUDE_INSTALL_PATH}/opencv
++ COMPONENT dev)
++ install(FILES "opencv2/opencv.hpp"
++ DESTINATION ${OPENCV_INCLUDE_INSTALL_PATH}/opencv2
++ COMPONENT dev)
+endif()
\ No newline at end of file
--
-2.8.1.windows.1
+2.9.0.windows.1
diff --git a/ports/opencv/portfile.cmake b/ports/opencv/portfile.cmake
index 9dcf0fdf7..6614fbb1a 100644
--- a/ports/opencv/portfile.cmake
+++ b/ports/opencv/portfile.cmake
@@ -1,62 +1,58 @@
-include(vcpkg_common_functions)
-
-find_program(GIT git)
-
-set(GIT_URL "https://github.com/Itseez/opencv")
-set(GIT_REF "92387b1ef8fad15196dd5f7fb4931444a68bc93a")
-
-if(NOT EXISTS "${DOWNLOADS}/opencv.git")
- message(STATUS "Cloning")
- vcpkg_execute_required_process(
- COMMAND ${GIT} clone --bare ${GIT_URL} ${DOWNLOADS}/opencv.git
- WORKING_DIRECTORY ${DOWNLOADS}
- LOGNAME clone
- )
+if (VCPKG_LIBRARY_LINKAGE STREQUAL static)
+ message(STATUS "Warning: Static building not supported yet. Building dynamic.")
+ set(VCPKG_LIBRARY_LINKAGE dynamic)
endif()
-message(STATUS "Cloning done")
+include(vcpkg_common_functions)
+set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/opencv-3.2.0)
+vcpkg_download_distfile(ARCHIVE
+ URLS "https://github.com/opencv/opencv/archive/3.2.0.zip"
+ FILENAME "opencv-3.2.0.zip"
+ SHA512 c6418d2a7654fe9d50611e756778df4c6736f2de76b85773efbf490bb475dd95ec1041fe57a87163ce11a7db44430cd378c8416af3319f979ced92532bf5ebb5
+)
+vcpkg_extract_source_archive(${ARCHIVE})
-if(NOT EXISTS "${CURRENT_BUILDTREES_DIR}/src/.git")
- message(STATUS "Adding worktree and patching")
- vcpkg_execute_required_process(
- COMMAND ${GIT} worktree add -f --detach ${CURRENT_BUILDTREES_DIR}/src ${GIT_REF}
- WORKING_DIRECTORY ${DOWNLOADS}/opencv.git
- LOGNAME worktree
- )
- message(STATUS "Patching")
- vcpkg_execute_required_process(
- COMMAND ${GIT} am ${CMAKE_CURRENT_LIST_DIR}/0001-OpenCV-should-follow-FHS-like-conventions.patch --ignore-whitespace --whitespace=fix
- WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/src
- LOGNAME patch
- )
-endif()
-message(STATUS "Adding worktree and patching done")
+vcpkg_apply_patches(
+ SOURCE_PATH ${SOURCE_PATH}
+ PATCHES "${CMAKE_CURRENT_LIST_DIR}/opencv-installation-options.patch"
+)
+file(REMOVE_RECURSE ${SOURCE_PATH}/3rdparty/libjpeg ${SOURCE_PATH}/3rdparty/libpng ${SOURCE_PATH}/3rdparty/zlib ${SOURCE_PATH}/3rdparty/libtiff)
vcpkg_configure_cmake(
- SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src
+ SOURCE_PATH ${SOURCE_PATH}
OPTIONS
-DBUILD_ZLIB=OFF
- -DINSTALL_CREATE_DISTRIB=ON
+ -DBUILD_TIFF=OFF
+ -DBUILD_JPEG=OFF
+ -DBUILD_PNG=OFF
-DBUILD_opencv_python2=OFF
-DBUILD_opencv_python3=OFF
-DBUILD_opencv_apps=OFF
-DBUILD_DOCS=OFF
- -DBUILD_TESTS=OFF
+ -DBUILD_EXAMPLES=OFF
+ -DBUILD_PACKAGE=OFF
-DBUILD_PERF_TESTS=OFF
+ -DBUILD_TESTS=OFF
+ -DBUILD_WITH_DEBUG_INFO=ON
-DOpenCV_DISABLE_ARCH_PATH=ON
-DWITH_FFMPEG=OFF
+ -DINSTALL_FORCE_UNIX_PATHS=ON
+ -DOPENCV_CONFIG_INSTALL_PATH=share/opencv
+ -DOPENCV_OTHER_INSTALL_PATH=share/opencv
+ -DINSTALL_LICENSE=OFF
+ -DWITH_CUDA=OFF
OPTIONS_DEBUG
-DINSTALL_HEADERS=OFF
-DINSTALL_OTHER=OFF
)
-vcpkg_build_cmake()
vcpkg_install_cmake()
-file(RENAME ${CURRENT_PACKAGES_DIR}/cmake/OpenCVConfig-version.cmake ${CURRENT_PACKAGES_DIR}/share/opencv/OpenCVConfig-version.cmake)
-file(RENAME ${CURRENT_PACKAGES_DIR}/cmake/OpenCVConfig.cmake ${CURRENT_PACKAGES_DIR}/share/opencv/OpenCVConfig.cmake)
-file(RENAME ${CURRENT_PACKAGES_DIR}/cmake/OpenCVModules.cmake ${CURRENT_PACKAGES_DIR}/share/opencv/OpenCVModules.cmake)
-file(RENAME ${CURRENT_PACKAGES_DIR}/cmake/OpenCVModules-release.cmake ${CURRENT_PACKAGES_DIR}/share/opencv/OpenCVModules-release.cmake)
-file(RENAME ${CURRENT_PACKAGES_DIR}/debug/cmake/OpenCVModules-debug.cmake ${CURRENT_PACKAGES_DIR}/share/opencv/OpenCVModules-debug.cmake)
-file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/cmake)
-file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/cmake)
+file(READ ${CURRENT_PACKAGES_DIR}/debug/share/opencv/OpenCVModules-debug.cmake OPENCV_DEBUG_MODULE)
+string(REPLACE "\${_IMPORT_PREFIX}" "\${_IMPORT_PREFIX}/debug" OPENCV_DEBUG_MODULE "${OPENCV_DEBUG_MODULE}")
+file(WRITE ${CURRENT_PACKAGES_DIR}/share/opencv/OpenCVModules-debug.cmake "${OPENCV_DEBUG_MODULE}")
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
+
+file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/opencv)
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/opencv/LICENSE ${CURRENT_PACKAGES_DIR}/share/opencv/copyright)
vcpkg_copy_pdbs()