diff options
author | bartus | 2018-03-29 10:13:23 +0200 |
---|---|---|
committer | bartus | 2018-04-06 09:02:20 +0200 |
commit | e43796437ab3cdf562e7226376af11335f9952ea (patch) | |
tree | 219c7530e7410f3358bbef96ef3bba6ce923f833 | |
parent | 2260069712b319d475e782e72203f7ab20a75849 (diff) | |
download | aur-e43796437ab3cdf562e7226376af11335f9952ea.tar.gz |
findflann.cmake.patch v0.12 enabling external flann
-rw-r--r-- | .SRCINFO | 10 | ||||
-rw-r--r-- | PKGBUILD | 16 | ||||
-rw-r--r-- | findflann-v0.1.patch | 142 |
3 files changed, 152 insertions, 16 deletions
@@ -1,7 +1,7 @@ pkgbase = openmvg-git pkgdesc = open Multiple View Geometry library. Basis for 3D computer vision and Structure from Motion. - pkgver = 1.3.r55.g01cb080b - pkgrel = 5 + pkgver = 1.3.r76.gd9563130 + pkgrel = 6 url = http://imagine.enpc.fr/~moulonp/openMVG/ arch = i686 arch = x86_64 @@ -30,16 +30,14 @@ pkgbase = openmvg-git source = git+https://github.com/elmindreda/glfw.git source = git+https://github.com/openMVG-thirdparty/osi_clp.git source = git+https://github.com/openMVG-thirdparty/cereal.git - source = fast.patch source = lemon.patch - source = flann.patch + source = findflann-v0.1.patch md5sums = SKIP md5sums = SKIP md5sums = SKIP md5sums = SKIP - md5sums = c2fff3b04a2444a635eab1709be6b4f2 md5sums = 11aa728e50e52b10d79dd83dfaa6c1c6 - md5sums = 91e8cb2e3b2449de83dd49c83359b8ab + md5sums = 91ba746a3740379d71dad4be34a9c44d pkgname = openmvg-git @@ -3,8 +3,8 @@ pkgname=openmvg-git _gitname='openMVG' _fragment="#branch=develop" -pkgver=1.3.r55.g01cb080b -pkgrel=5 +pkgver=1.3.r76.gd9563130 +pkgrel=6 pkgdesc='open Multiple View Geometry library. Basis for 3D computer vision and Structure from Motion.' arch=('i686' 'x86_64') url='http://imagine.enpc.fr/~moulonp/openMVG/' @@ -15,17 +15,15 @@ source=("git+https://github.com/${_gitname}/${_gitname}.git${_fragment}" 'git+https://github.com/elmindreda/glfw.git' 'git+https://github.com/openMVG-thirdparty/osi_clp.git' 'git+https://github.com/openMVG-thirdparty/cereal.git' - 'fast.patch' 'lemon.patch' - 'flann.patch' + 'findflann-v0.1.patch' ) md5sums=('SKIP' 'SKIP' 'SKIP' 'SKIP' - 'c2fff3b04a2444a635eab1709be6b4f2' '11aa728e50e52b10d79dd83dfaa6c1c6' - '91e8cb2e3b2449de83dd49c83359b8ab') + '91ba746a3740379d71dad4be34a9c44d') pkgver() { cd "${srcdir}/${_gitname}" @@ -40,16 +38,14 @@ prepare() { git config 'submodule.src/dependencies/cereal.url' "${srcdir}/cereal" git submodule update git apply ${srcdir}/lemon.patch - git apply ${srcdir}/fast.patch - git apply ${srcdir}/flann.patch - cp src/third_party/flann/cmake/FindFlann.cmake src/cmakeFindModules/ + git apply ${srcdir}/findflann-v0.1.patch } build() { cd "${srcdir}" mkdir -p openmvg_build cd openmvg_build - cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=RELEASE -DOpenMVG_BUILD_SHARED=ON -DOpenMVG_BUILD_EXAMPLES=ON -DOpenMVG_BUILD_OPENGL_EXAMPLES=ON -DOpenMVG_USE_OPENMP=ON -DFLANN_INCLUDE_DIR_HINTS=/usr/include -DCOINUTILS_INCLUDE_DIR_HINTS=/usr/include/coin -DCLP_INCLUDE_DIR_HINTS=/usr/include/coin -DOSI_INCLUDE_DIR_HINTS=/usr/include/coin -DLEMON_INCLUDE_DIR_HINTS=/usr/include/lemon -DCERES_DIR_HINTS=/usr/include/ceres -DEIGEN_INCLUDE_DIR_HINTS=/usr/include/eigen3 ../openMVG/src/ + cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=RELEASE -DOpenMVG_BUILD_SHARED=ON -DOpenMVG_BUILD_EXAMPLES=ON -DOpenMVG_BUILD_OPENGL_EXAMPLES=ON -DOpenMVG_USE_OPENMP=ON -DCOINUTILS_INCLUDE_DIR_HINTS=/usr/include/coin -DCLP_INCLUDE_DIR_HINTS=/usr/include/coin -DOSI_INCLUDE_DIR_HINTS=/usr/include/coin -DLEMON_INCLUDE_DIR_HINTS=/usr/include/lemon -DCERES_DIR_HINTS=/usr/include/ceres -DEIGEN_INCLUDE_DIR_HINTS=/usr/include/eigen3 ../openMVG/src/ make } diff --git a/findflann-v0.1.patch b/findflann-v0.1.patch new file mode 100644 index 000000000000..df9fb11c4c3e --- /dev/null +++ b/findflann-v0.1.patch @@ -0,0 +1,142 @@ +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index b4faa693..7e5e04c9 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -286,7 +286,7 @@ endif() + # ============================================================================== + if (NOT DEFINED FLANN_INCLUDE_DIR_HINTS) + set(FLANN_INCLUDE_DIR_HINTS ${CMAKE_CURRENT_SOURCE_DIR}/third_party/flann/src/cpp) +- set(OpenMVG_USE_INTERNAL_FLANN ON) ++# set(OpenMVG_USE_INTERNAL_FLANN ON) + endif() + find_package(Flann QUIET) + if (NOT FLANN_FOUND OR OpenMVG_USE_INTERNAL_FLANN) +diff --git a/src/cmakeFindModules/FindFlann.cmake b/src/cmakeFindModules/FindFlann.cmake +index 41e74a1d..06e897b1 100644 +--- a/src/cmakeFindModules/FindFlann.cmake ++++ b/src/cmakeFindModules/FindFlann.cmake +@@ -2,50 +2,83 @@ + # Find Flann Library + #---------------------------------------------------------- + +-FIND_PATH(FLANN_DIR flann.hpp +- HINTS "${FLANN_ROOT}" "$ENV{FLANN_ROOT}" "${FLANN_INCLUDE_DIR_HINTS}" +- PATHS "$ENV{PROGRAMFILES}/flann" "$ENV{PROGRAMW6432}/flann" +- PATH_SUFFIXES flann +- DOC "Root directory of FLANN includes") ++# This sets the following variables: ++# FLANN_FOUND - True if FLANN was found. ++# FLANN_INCLUDE_DIRS - Directories containing the FLANN include files. ++# FLANN_LIBRARIES - Libraries needed to use FLANN. ++# FLANN_DEFINITIONS - Compiler flags for FLANN. + + ##==================================================== +-## Include FLANN library ++## Use PKG-CONFIG for local FLANN instance + ##---------------------------------------------------- +-IF(EXISTS "${FLANN_DIR}" AND NOT "${FLANN_DIR}" STREQUAL "") +- SET(FLANN_FOUND TRUE) +- SET(FLANN_INCLUDE_DIRS ${FLANN_DIR}) +- SET(FLANN_DIR "${FLANN_DIR}" CACHE PATH "" FORCE) +- MARK_AS_ADVANCED(FLANN_DIR) +- +- # Extract Flann version from config.h +- SET(FLANN_VERSION_FILE ${FLANN_INCLUDE_DIRS}/config.h) +- IF (NOT EXISTS ${FLANN_VERSION_FILE}) +- FLANN_REPORT_NOT_FOUND( +- "Could not find file: ${FLANN_VERSION_FILE} " +- "containing version information in Flann install located at: " +- "${FLANN_INCLUDE_DIRS}.") +- ELSE (NOT EXISTS ${FLANN_VERSION_FILE}) +- FILE(READ ${FLANN_VERSION_FILE} FLANN_VERSION_FILE_CONTENTS) +- STRING(REGEX MATCH "#define FLANN_VERSION_ \"([0-9.]+)\"" +- FLANN_VERSION "${FLANN_VERSION_FILE_CONTENTS}") +- STRING(REGEX REPLACE "#define FLANN_VERSION_ \"([0-9.]+)\"" "\\1" +- FLANN_VERSION "${FLANN_VERSION}") +- ENDIF (NOT EXISTS ${FLANN_VERSION_FILE}) +- SET(FLANN_INCLUDE_DIR ${FLANN_DIR}) +- +- FIND_LIBRARY(FLANN_LIBRARY NAMES flann_cpp) +- +- # locate Flann libraries +- IF(DEFINED FLANN_LIBRARY) +- SET(FLANN_LIBRARIES ${FLANN_LIBRARY}) +- ENDIF() +- +- MESSAGE(STATUS "Flann ${FLANN_VERSION} found (include: ${FLANN_INCLUDE_DIRS})") ++find_package(PkgConfig) ++pkg_check_modules(PC_FLANN flann) ++IF(PC_FLANN_FOUND) ++ set(FLANN_FOUND ${PC_FLANN_FOUND}) ++ set(FLANN_DEFINITIONS ${PC_FLANN_CFLAGS_OTHER}) ++ ++ find_path(FLANN_INCLUDE_DIR flann/flann.hpp ++ HINTS ${PC_FLANN_INCLUDEDIR} ${PC_FLANN_INCLUDE_DIRS}) ++ ++ find_library(FLANN_LIBRARY flann ++ HINTS ${PC_FLANN_LIBDIR} ${PC_FLANN_LIBRARY_DIRS}) ++ ++ set(FLANN_INCLUDE_DIRS ${FLANN_INCLUDE_DIR}) ++ set(FLANN_LIBRARIES ${PC_FLANN_LIBRARIES}) ++ set(FLANN_VERSION ${PC_FLANN_VERSION}) ++ ++ include(FindPackageHandleStandardArgs) ++ find_package_handle_standard_args(Flann DEFAULT_MSG ++ FLANN_LIBRARY FLANN_INCLUDE_DIR) ++ ++ mark_as_advanced(FLANN_LIBRARY FLANN_INCLUDE_DIR) + ELSE() +- MESSAGE(FATAL_ERROR "You are attempting to build without Flann. " +- "Please use cmake variable -DFLANN_INCLUDE_DIR_HINTS:STRING=\"PATH\" " +- "or FLANN_INCLUDE_DIR_HINTS env. variable to a valid Flann path. " +- "Or install last Flann version.") +- package_report_not_found(FLANN "Flann cannot be found") ++ FIND_PATH(FLANN_DIR flann.hpp ++ HINTS "${FLANN_ROOT}" "$ENV{FLANN_ROOT}" "${FLANN_INCLUDE_DIR_HINTS}" ++ PATHS "$ENV{PROGRAMFILES}/flann" "$ENV{PROGRAMW6432}/flann" ++ PATH_SUFFIXES flann ++ DOC "Root directory of FLANN includes") ++ ++ ##==================================================== ++ ## Include FLANN library ++ ##---------------------------------------------------- ++ IF(EXISTS "${FLANN_DIR}" AND NOT "${FLANN_DIR}" STREQUAL "") ++ SET(FLANN_FOUND TRUE) ++ SET(FLANN_INCLUDE_DIRS ${FLANN_DIR}) ++ SET(FLANN_DIR "${FLANN_DIR}" CACHE PATH "" FORCE) ++ MARK_AS_ADVANCED(FLANN_DIR) ++ ++ # Extract Flann version from config.h ++ SET(FLANN_VERSION_FILE ${FLANN_INCLUDE_DIRS}/config.h) ++ IF (NOT EXISTS ${FLANN_VERSION_FILE}) ++ FLANN_REPORT_NOT_FOUND( ++ "Could not find file: ${FLANN_VERSION_FILE} " ++ "containing version information in Flann install located at: " ++ "${FLANN_INCLUDE_DIRS}.") ++ ELSE (NOT EXISTS ${FLANN_VERSION_FILE}) ++ FILE(READ ${FLANN_VERSION_FILE} FLANN_VERSION_FILE_CONTENTS) ++ STRING(REGEX MATCH "#define FLANN_VERSION_ \"([0-9.]+)\"" ++ FLANN_VERSION "${FLANN_VERSION_FILE_CONTENTS}") ++ STRING(REGEX REPLACE "#define FLANN_VERSION_ \"([0-9.]+)\"" "\\1" ++ FLANN_VERSION "${FLANN_VERSION}") ++ ENDIF (NOT EXISTS ${FLANN_VERSION_FILE}) ++ SET(FLANN_INCLUDE_DIR ${FLANN_DIR}) ++ ++ FIND_LIBRARY(FLANN_LIBRARY NAMES flann) ++ ++ # locate Flann libraries ++ IF(DEFINED FLANN_LIBRARY) ++ SET(FLANN_LIBRARIES ${FLANN_LIBRARY}) ++ ENDIF() ++ SET(OpenMVG_USE_INTERNAL_FLANN TRUE) ++ MESSAGE(STATUS "Flann ${FLANN_VERSION} found (include: ${FLANN_INCLUDE_DIRS})") ++ ELSE() ++ MESSAGE(FATAL_ERROR "You are attempting to build without Flann. " ++ "Please use cmake variable -DFLANN_INCLUDE_DIR_HINTS:STRING=\"PATH\" " ++ "or FLANN_INCLUDE_DIR_HINTS env. variable to a valid Flann path. " ++ "Or install last Flann version.") ++ package_report_not_found(FLANN "Flann cannot be found") ++ ENDIF() + ENDIF() ++ + ##==================================================== |