aboutsummaryrefslogtreecommitdiff
path: root/graphics/colmap
diff options
context:
space:
mode:
authorJan Beich <jbeich@FreeBSD.org>2016-12-08 03:25:54 +0000
committerJan Beich <jbeich@FreeBSD.org>2016-12-08 03:25:54 +0000
commitd43ca646e46f720cdd4de4951624db10738fa534 (patch)
treed822bb5fb42e59bb6868abff22b33ae49d0f2333 /graphics/colmap
parent9d376291578b6761a65c0573be29e896cff9b7ef (diff)
Notes
Diffstat (limited to 'graphics/colmap')
-rw-r--r--graphics/colmap/Makefile107
-rw-r--r--graphics/colmap/distinfo3
-rw-r--r--graphics/colmap/files/patch-src_CMakeLists.txt27
-rw-r--r--graphics/colmap/files/patch-src_util_CMakeLists.txt12
-rw-r--r--graphics/colmap/pkg-descr6
-rw-r--r--graphics/colmap/pkg-plist23
6 files changed, 178 insertions, 0 deletions
diff --git a/graphics/colmap/Makefile b/graphics/colmap/Makefile
new file mode 100644
index 000000000000..df1c1b304fac
--- /dev/null
+++ b/graphics/colmap/Makefile
@@ -0,0 +1,107 @@
+# $FreeBSD$
+
+PORTNAME= colmap
+DISTVERSION= 2.1-0 # synthetic tag
+DISTVERSIONSUFFIX= -g55fbe10
+CATEGORIES= graphics
+
+MAINTAINER= jbeich@FreeBSD.org
+COMMENT= Structure from motion and multi-view stereo
+
+LICENSE= BSD2CLAUSE BSD3CLAUSE CC-BY-3.0 GPLv3+ MIT SIFTGPU
+LICENSE_COMB= multi
+LICENSE_NAME_SIFTGPU= SiftGPU non-commercial license
+LICENSE_FILE_BSD2CLAUSE=${WRKSRC}/src/ext/VLFeat/LICENSE
+LICENSE_FILE_BSD3CLAUSE=${WRKSRC}/src/ext/FLANN/LICENSE
+LICENSE_FILE_CC-BY-3.0= ${WRKSRC}/src/ui/media/LICENSE
+LICENSE_FILE_GPLv3+ = ${WRKSRC}/COPYING.txt
+LICENSE_FILE_MIT= ${WRKSRC}/src/ext/PoissonRecon/LICENSE
+LICENSE_FILE_SIFTGPU= ${WRKSRC}/src/ext/SiftGPU/LICENSE
+LICENSE_PERMS_SIFTGPU= dist-mirror pkg-mirror auto-accept
+
+BUILD_DEPENDS= eigen>=3:math/eigen3
+LIB_DEPENDS= libboost_filesystem.so:devel/boost-libs \
+ libglog.so:devel/glog \
+ libfreeimage.so:graphics/freeimage \
+ libceres.so:math/ceres-solver
+
+USES= cmake compiler:c++11-lib fortran localbase sqlite
+USE_GITHUB= yes
+USE_GL= gl glew glut
+USE_QT5= qmake_build buildtools_build core gui opengl_build widgets
+EXCLUDE= SQLite
+EXTRACT_AFTER_ARGS= ${EXCLUDE:S,^,--exclude src/ext/,}
+CMAKE_ARGS= -DBOOST_STATIC=off -DCUDA_ENABLED=off
+CFLAGS+= -DVL_OS_LINUX=1
+CXXFLAGS+= -D_GLIBCXX_USE_C99 -D_GLIBCXX_USE_C99_MATH_TR1 \
+ -D_DECLARE_C99_LDBL_MATH # XXX ports/193528
+LDFLAGS+= -Wl,--as-needed # gflags, glu, xi, xmu
+TEST_TARGET= test ARGS="-V"
+
+OPTIONS_DEFINE= DOCS OPENMP
+OPTIONS_DEFAULT= OPENMP ${MACHINE_CPU:tu}
+.if !exists(/usr/bin/gcc)
+# XXX ports/199603 + ports/210337
+# USES=compiler:gcc-c++11-lib fails to build
+OPTIONS_EXCLUDE= OPENMP
+.endif
+
+OPTIONS_GROUP= SIMD
+OPTIONS_GROUP_SIMD= ${OPTIONS_GROUP_SIMD_${MACHINE_ARCH}}
+# Keep in sync with src/ext/VLFeat/CMakeLists.txt
+OPTIONS_GROUP_SIMD_amd64= ${OPTIONS_GROUP_SIMD_i386}
+OPTIONS_GROUP_SIMD_i386= SSE2 AVX
+
+DOCS_BUILD_DEPENDS= sphinx-build:textproc/py-sphinx
+DOCS_USES= gmake
+DOCS_PORTDOCS= *
+
+OPENMP_USES= compiler:openmp
+OPENMP_CMAKE_BOOL= OPENMP_ENABLED
+
+.for _simd in ${OPTIONS_GROUP_SIMD}
+${_simd}_DESC= ${MMX_DESC:S/MMX/${_simd}/}
+${_simd}_CMAKE_BOOL= HAS_${_simd}_EXTENSION
+${_simd}_CFLAGS= -m${_simd:tl}
+.endfor
+
+post-patch:
+ @${REINPLACE_CMD} -e 's/Qt5OpenGL/Qt5Widgets/' \
+ -e '/CheckSSEExtensions/d' \
+ ${WRKSRC}/CMakeLists.txt
+ @${REINPLACE_CMD} -e '/install.*test/d' \
+ ${WRKSRC}/cmake/CMakeHelper.cmake
+# XXX Unbundle FLANN as it has more consumers
+ @${REINPLACE_CMD} -e '/SQLite/d' \
+ ${WRKSRC}/src/ext/CMakeLists.txt
+ @${REINPLACE_CMD} -e 's,ext/SQLite/,,' \
+ ${WRKSRC}/src/base/database.h \
+ ${WRKSRC}/src/util/sqlite3_utils.h
+.if !defined(DISPLAY) # QApplication
+ @${REINPLACE_CMD} -e '/feature_matching_test/d' \
+ -e '/feature_extraction_test/d' \
+ ${WRKSRC}/src/base/CMakeLists.txt
+ @${REINPLACE_CMD} -e '/opengl_utils_test/d' \
+ ${WRKSRC}/src/util/CMakeLists.txt
+.endif
+
+post-build-DOCS-on:
+ @${DO_MAKE_BUILD} html -C${WRKSRC}/doc
+
+pre-install: do-test
+
+post-install-DOCS-on:
+ (cd ${WRKSRC}/doc/_build/html && ${COPYTREE_SHARE} \
+ "${PORTDOCS}" ${STAGEDIR}${DOCSDIR})
+
+.include <bsd.port.mk>
+
+# FreeBSD 11.0 i386 has:
+# 7 - base/database_test (Failed)
+# 26 - estimators/epnp_test (Failed)
+# 34 - mvs/depth_map_test (Failed)
+# 39 - optim/loransac_test (Failed)
+# 42 - optim/ransac_test (Failed)
+.if ${ARCH} != amd64
+do-test: .IGNORE
+.endif
diff --git a/graphics/colmap/distinfo b/graphics/colmap/distinfo
new file mode 100644
index 000000000000..4f7a275373c8
--- /dev/null
+++ b/graphics/colmap/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1481118474
+SHA256 (colmap-colmap-2.1-0-g55fbe10_GH0.tar.gz) = 76660ea44320660c73045d6e54d199c242b3ae87346476db283afe8df6d673b0
+SIZE (colmap-colmap-2.1-0-g55fbe10_GH0.tar.gz) = 5389216
diff --git a/graphics/colmap/files/patch-src_CMakeLists.txt b/graphics/colmap/files/patch-src_CMakeLists.txt
new file mode 100644
index 000000000000..d4fe26ee2cfc
--- /dev/null
+++ b/graphics/colmap/files/patch-src_CMakeLists.txt
@@ -0,0 +1,27 @@
+build: properly limit -lpthread and -ldl
+
+--- src/CMakeLists.txt.orig 2016-12-07 13:47:54 UTC
++++ src/CMakeLists.txt
+@@ -34,6 +34,7 @@ set(COLMAP_LIBRARIES
+ sqlite3
+ sift_gpu
+ vlfeat
++ ${CMAKE_DL_LIBS}
+ ${Boost_LIBRARIES}
+ ${GLOG_LIBRARIES}
+ ${FREEIMAGE_LIBRARIES}
+@@ -41,11 +42,11 @@ set(COLMAP_LIBRARIES
+ ${OPENGL_LIBRARIES})
+
+ if(CUDA_ENABLED)
+- set(COLMAP_LIBRARIES mvs mvs_cuda ${COLMAP_LIBRARIES})
++ list(APPEND COLMAP_LIBRARIES mvs mvs_cuda)
+ endif()
+
+-if("${CMAKE_CXX_COMPILER_ID}" MATCHES "GNU")
+- set(COLMAP_LIBRARIES ${COLMAP_LIBRARIES} pthread dl)
++if(UNIX)
++ list(APPEND COLMAP_LIBRARIES pthread)
+ endif()
+
+ set(COLMAP_UI_LIBRARIES ui)
diff --git a/graphics/colmap/files/patch-src_util_CMakeLists.txt b/graphics/colmap/files/patch-src_util_CMakeLists.txt
new file mode 100644
index 000000000000..c0f9bc68822e
--- /dev/null
+++ b/graphics/colmap/files/patch-src_util_CMakeLists.txt
@@ -0,0 +1,12 @@
+--- src/util/CMakeLists.txt.orig 2016-08-09 10:34:35 UTC
++++ src/util/CMakeLists.txt
+@@ -23,3 +23,9 @@ COLMAP_ADD_TEST(random_test random_test.
+ COLMAP_ADD_TEST(string_test string_test.cc)
+ COLMAP_ADD_TEST(threading_test threading_test.cc)
+ COLMAP_ADD_TEST(timer_test timer_test.cc)
++
++if(IS_CLANG AND CMAKE_SIZEOF_VOID_P EQUAL 4)
++ # -O2 exceeds max memory on i386
++ set_source_files_properties(camera_specs.cc
++ PROPERTIES COMPILE_FLAGS "-O1")
++endif()
diff --git a/graphics/colmap/pkg-descr b/graphics/colmap/pkg-descr
new file mode 100644
index 000000000000..4477a5129d78
--- /dev/null
+++ b/graphics/colmap/pkg-descr
@@ -0,0 +1,6 @@
+COLMAP is a general-purpose Structure-from-Motion (SfM) and Multi-View
+Stereo (MVS) pipeline with a graphical and command-line interface. It
+offers a wide range of features for reconstruction of ordered and
+unordered image collections.
+
+WWW: https://colmap.github.io/
diff --git a/graphics/colmap/pkg-plist b/graphics/colmap/pkg-plist
new file mode 100644
index 000000000000..973c6db5ff9a
--- /dev/null
+++ b/graphics/colmap/pkg-plist
@@ -0,0 +1,23 @@
+bin/bundle_adjuster
+bin/colmap
+bin/color_extractor
+bin/database_creator
+bin/dense_fuser
+bin/dense_mesher
+bin/exhaustive_matcher
+bin/feature_extractor
+bin/feature_importer
+bin/image_rectifier
+bin/image_registrator
+bin/image_undistorter
+bin/mapper
+bin/matches_importer
+bin/model_aligner
+bin/model_converter
+bin/model_merger
+bin/rig_bundle_adjuster
+bin/sequential_matcher
+bin/spatial_matcher
+bin/vocab_tree_builder
+bin/vocab_tree_matcher
+bin/vocab_tree_retriever