summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorbartus2018-03-29 10:13:23 +0200
committerbartus2018-04-06 09:02:20 +0200
commite43796437ab3cdf562e7226376af11335f9952ea (patch)
tree219c7530e7410f3358bbef96ef3bba6ce923f833
parent2260069712b319d475e782e72203f7ab20a75849 (diff)
downloadaur-e43796437ab3cdf562e7226376af11335f9952ea.tar.gz
findflann.cmake.patch v0.12 enabling external flann
-rw-r--r--.SRCINFO10
-rw-r--r--PKGBUILD16
-rw-r--r--findflann-v0.1.patch142
3 files changed, 152 insertions, 16 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 0fe66407a8f8..35bda14ad01d 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -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
diff --git a/PKGBUILD b/PKGBUILD
index a8ac075c84c9..ebefcaa77ab6 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -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()
++
+ ##====================================================