1 # Copyright 1999-2013 Gentoo Foundation
2 # Distributed under the terms of the GNU General Public License v2
7 inherit cmake-utils cuda eutils git-r3 multilib toolchain-funcs
9 DESCRIPTION="Library for performing fast approximate nearest neighbor searches in high dimensional spaces"
10 HOMEPAGE="http://www.cs.ubc.ca/research/flann/"
11 SRC_URI="test? ( https://dev.gentoo.org/~bicatali/distfiles/${PN}-1.8.4-testdata.tar.xz )"
12 EGIT_REPO_URI="https://github.com/mariusmuja/flann.git"
17 IUSE="cuda doc examples mpi openmp octave static-libs test"
20 cuda? ( >=dev-util/nvidia-cuda-toolkit-5.5 )
25 !mpi? ( !sci-libs/hdf5[mpi] )
26 octave? ( >=sci-mathematics/octave-3.6.4-r1 )"
29 doc? ( dev-tex/latex2html )
32 cuda? ( sci-libs/hdf5 )
37 "${FILESDIR}"/${PN}-1.8.4-options.patch
38 "${FILESDIR}"/${PN}-1.8.4-CUDA_NVCC_FLAGS.patch
39 "${FILESDIR}"/${PN}-1.8.4-cuda5.5.patch
40 "${FILESDIR}"/${PN}-1.8.4-multilib.patch
41 "${FILESDIR}"/${PN}-1.8.4-docdir.patch
46 if [[ $(tc-getCC) == *gcc ]] && ! tc-has-openmp ; then
47 ewarn "OpenMP is not available in your current selected gcc"
48 die "need openmp capable gcc"
60 use mpi && export CXX=mpicxx
62 # produce pure octave files
63 # octave gentoo installation for .m files respected
67 -e '/FILES/s/${MEX_FILE}//' \
68 -e 's:share/flann/octave:share/octave/site/m:' \
69 -e "/CUSTOM_TARGET/a\INSTALL(FILES \${MEX_FILE} DESTINATION libexec/octave/site/oct/${CHOST})" \
70 src/matlab/CMakeLists.txt || die
71 use cuda && cuda_src_prepare
73 cmake-utils_src_prepare
77 # python bindings are split
80 -DBUILD_PYTHON_BINDINGS=OFF
82 -DDOCDIR=share/doc/${PF}
83 $(cmake-utils_use_build cuda CUDA_LIB)
84 $(cmake-utils_use_build examples)
85 $(cmake-utils_use_build doc)
86 $(cmake-utils_use_build test TESTS)
87 $(cmake-utils_use_build octave MATLAB_BINDINGS)
88 $(cmake-utils_use_use mpi)
89 $(cmake-utils_use_use openmp)
93 -DCUDA_NVCC_FLAGS="${NVCCFLAGS},-arsch"
95 cmake-utils_src_configure
99 ln -s "${WORKDIR}"/testdata/* test/ || die
100 # -j1 to avoid obversubscribing jobs
101 LD_LIBRARY_PATH="${BUILD_DIR}/lib" \
102 cmake-utils_src_compile -j1 test
106 cmake-utils_src_install
108 if ! use static-libs; then
109 find "${ED}" -name 'lib*.a' -exec rm -rf '{}' '+' || die