1 # Copyright 1999-2016 Gentoo Foundation
2 # Distributed under the terms of the GNU General Public License v2
6 inherit cmake-utils cuda eutils git-r3 multilib toolchain-funcs
8 DESCRIPTION="Fast approximate nearest neighbor searches in high dimensional spaces"
9 HOMEPAGE="http://www.cs.ubc.ca/research/flann/"
10 SRC_URI="test? ( https://dev.gentoo.org/~bicatali/distfiles/${PN}-1.8.4-testdata.tar.xz )"
11 EGIT_REPO_URI="https://github.com/mariusmuja/flann.git"
16 IUSE="cuda doc examples mpi openmp octave static-libs test"
19 cuda? ( >=dev-util/nvidia-cuda-toolkit-5.5 )
24 !mpi? ( !sci-libs/hdf5[mpi] )
25 octave? ( >=sci-mathematics/octave-3.6.4-r1 )"
28 doc? ( dev-tex/latex2html )
31 cuda? ( sci-libs/hdf5 )
37 if [[ $(tc-getCC) == *gcc ]] && ! tc-has-openmp ; then
38 ewarn "OpenMP is not available in your current selected gcc"
39 die "need openmp capable gcc"
51 use mpi && export CXX=mpicxx
53 # produce pure octave files
54 # octave gentoo installation for .m files respected
58 -e '/FILES/s/${MEX_FILE}//' \
59 -e 's:share/flann/octave:share/octave/site/m:' \
60 -e "/CUSTOM_TARGET/a\INSTALL(FILES \${MEX_FILE} DESTINATION libexec/octave/site/oct/${CHOST})" \
61 src/matlab/CMakeLists.txt || die
62 use cuda && cuda_src_prepare
64 cmake-utils_src_prepare
68 # python bindings are split
71 -DBUILD_PYTHON_BINDINGS=OFF
73 -DDOCDIR=share/doc/${PF}
74 $(cmake-utils_use_build cuda CUDA_LIB)
75 $(cmake-utils_use_build examples)
76 $(cmake-utils_use_build doc)
77 $(cmake-utils_use_build test TESTS)
78 $(cmake-utils_use_build octave MATLAB_BINDINGS)
79 $(cmake-utils_use_use mpi)
80 $(cmake-utils_use_use openmp)
84 -DCUDA_NVCC_FLAGS="${NVCCFLAGS},-arsch"
86 cmake-utils_src_configure
90 ln -s "${WORKDIR}"/testdata/* test/ || die
91 # -j1 to avoid obversubscribing jobs
92 LD_LIBRARY_PATH="${BUILD_DIR}/lib" \
93 cmake-utils_src_compile -j1 test
97 cmake-utils_src_install
99 if ! use static-libs; then
100 find "${ED}" -name 'lib*.a' -exec rm -rf '{}' '+' || die