4 %bcond_without apidocs # do not build and package API docs
5 %bcond_without fzapi # Fotonic FZ API support
6 %bcond_with sse # SSE/SSE2/SSE3 support
7 %bcond_without tawara # Tawara video output (pcl_video)
8 %bcond_without vtk # VTK support in libpcl_{io,surface} + libpcl_{apps,visualization} libs
10 Summary: Point Cloud Library - library for point cloud processing
11 Summary(pl.UTF-8): Point Cloud Library - biblioteka do operacji na chmurze punktów
17 #Source0Download: http://pointclouds.org/downloads/
18 Source0: https://github.com/PointCloudLibrary/pcl/archive/%{name}-%{version}.tar.gz
19 # Source0-md5: 02c72eb6760fcb1f2e359ad8871b9968
20 Patch0: %{name}-fz_api.patch
21 Patch1: %{name}-tawara.patch
22 Patch2: %{name}-openni.patch
23 URL: http://pointclouds.org/
24 BuildRequires: OpenGL-devel
25 BuildRequires: OpenGL-GLU-devel
26 BuildRequires: OpenNI2-devel
27 BuildRequires: QtCore-devel >= 4
28 BuildRequires: QtOpenGL-devel >= 4
29 BuildRequires: boost-devel >= 1.43
30 BuildRequires: cmake >= 2.8
31 BuildRequires: eigen3 >= 3
32 BuildRequires: flann-devel >= 1.7.0
33 %{?with_fzapi:BuildRequires: fz-api-devel}
34 BuildRequires: gcc-c++ >= 6:4.2
35 BuildRequires: libgomp-devel
36 BuildRequires: libpcap-devel
37 BuildRequires: libpng-devel
38 BuildRequires: libstdc++-devel
39 BuildRequires: libusb-devel >= 1.0
40 BuildRequires: qhull-devel
41 BuildRequires: qt4-build >= 4
43 BuildRequires: sed >= 4.0
44 %{?with_tawara:BuildRequires: tawara-devel}
45 # FIXME: only vtk-devel is really required, the rest (java,python,tcl runtimes) only because of checks in VTK cmake files
46 %{?with_vtk:BuildRequires: vtk-devel >= 6}
47 %{?with_vtk:BuildRequires: vtk-java >= 6}
48 %{?with_vtk:BuildRequires: vtk-python >= 6}
49 %{?with_vtk:BuildRequires: vtk-tcl >= 6}
51 BuildRequires: doxygen
52 BuildRequires: python-sphinxcontrib-doxylink >= 1.3
53 BuildRequires: sphinx-pdg
55 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
58 The Point Cloud Library (PCL) is a standalone, large scale, open
59 project for 3D point cloud processing.
61 The PCL framework contains numerous state-of-the art algorithms
62 including filtering, feature estimation, surface reconstruction,
63 registration, model fitting and segmentation, as well as higher level
64 tools for performing mapping and object recognition. Think of it as
65 the Boost of 3D point cloud processing.
67 %description -l pl.UTF-8
68 Biblioteka PCL (Point Cloud Processing) to samodzielna, wielkoskalowa,
69 mająca otwarte źródła biblioteka do przetwarzania chmury punktów 3D.
71 Szkielet PCL zawiera wiele współczesnych algorytmów, obejmujących
72 filtrowanie, przybliżanie cech, rekonstrukcję powierzchni,
73 rejestrację, dopasowywanie modeli oraz segmentację, a także narzędzia
74 wyższego poziomu do wykonywania odwzorowań oraz rozpoznawania
75 obiektów. O bibliotece można myśleć jako odpowiedniku Boosta do
76 przetwarzania chmury punktów 3D.
79 Summary: Header files for PCL library
80 Summary(pl.UTF-8): Pliki nagłówkowe biblioteki PCL
81 Group: Development/Libraries
82 Requires: %{name} = %{version}-%{release}
83 Requires: boost-devel >= 1.44
84 %{?with_vtk:Requires: vtk-devel >= 6}
87 Header files for PCL library.
89 %description devel -l pl.UTF-8
90 Pliki nagłówkowe biblioteki PCL.
93 Summary: PCL API documentation and tutorials
94 Summary(pl.UTF-8): Dokumentacja API oraz wprowadzenie do biblioteki PCL
96 %if "%{_rpmversion}" >= "5"
101 API documentation and tutorials for PCL library.
103 %description apidocs -l pl.UTF-8
104 Dokumentacja API oraz wprowadzenie do biblioteki PCL.
107 %setup -q -n pcl-pcl-%{version}
115 # LIB_INSTALL_DIR specified by PLD cmake macro is incompatible with what PCL expects
117 -DLIB_INSTALL_DIR=%{_lib} \
120 -DFZAPI_INCLUDE_DIR=/usr/include \
121 -DFZAPI_LIBS=%{_libdir}/libfz_api.so \
125 -DWITH_TUTORIALS=ON \
127 %{!?with_sse:-DPCL_ENABLE_SSE=OFF}
129 # NOTE: -j1 because of OOM on th-x86_64
133 rm -rf $RPM_BUILD_ROOT
135 %{__make} -C build install \
136 DESTDIR=$RPM_BUILD_ROOT
139 rm -rf $RPM_BUILD_ROOT
141 %post -p /sbin/ldconfig
142 %postun -p /sbin/ldconfig
145 %defattr(644,root,root,755)
146 %doc AUTHORS.txt LICENSE.txt
147 %attr(755,root,root) %{_bindir}/pcl_compute_hausdorff
148 %attr(755,root,root) %{_bindir}/pcl_compute_hull
149 %attr(755,root,root) %{_bindir}/pcl_concatenate_points_pcd
150 %attr(755,root,root) %{_bindir}/pcl_convert_pcd_ascii_binary
151 %attr(755,root,root) %{_bindir}/pcl_demean_cloud
152 %attr(755,root,root) %{_bindir}/pcl_fast_bilateral_filter
153 %attr(755,root,root) %{_bindir}/pcl_generate
154 %attr(755,root,root) %{_bindir}/pcl_grid_min
155 %attr(755,root,root) %{_bindir}/pcl_hdl_grabber
156 %attr(755,root,root) %{_bindir}/pcl_linemod_detection
157 %attr(755,root,root) %{_bindir}/pcl_local_max
158 %attr(755,root,root) %{_bindir}/pcl_lum
159 %attr(755,root,root) %{_bindir}/pcl_match_linemod_template
160 %attr(755,root,root) %{_bindir}/pcl_morph
161 %attr(755,root,root) %{_bindir}/pcl_ndt2d
162 %attr(755,root,root) %{_bindir}/pcl_ndt3d
163 %attr(755,root,root) %{_bindir}/pcl_obj2pcd
164 %attr(755,root,root) %{_bindir}/pcl_oni2pcd
165 %attr(755,root,root) %{_bindir}/pcl_openni_grabber_depth_example
166 %attr(755,root,root) %{_bindir}/pcl_openni_grabber_example
167 %attr(755,root,root) %{_bindir}/pcl_openni_pcd_recorder
168 %attr(755,root,root) %{_bindir}/pcl_outofcore_print
169 %attr(755,root,root) %{_bindir}/pcl_outofcore_process
170 %attr(755,root,root) %{_bindir}/pcl_outofcore_viewer
171 %attr(755,root,root) %{_bindir}/pcl_pcd_change_viewpoint
172 %attr(755,root,root) %{_bindir}/pcl_pcd_convert_NaN_nan
173 %attr(755,root,root) %{_bindir}/pcl_pclzf2pcd
174 %attr(755,root,root) %{_bindir}/pcl_ply2obj
175 %attr(755,root,root) %{_bindir}/pcl_ply2ply
176 %attr(755,root,root) %{_bindir}/pcl_ply2raw
177 %attr(755,root,root) %{_bindir}/pcl_plyheader
178 %attr(755,root,root) %{_bindir}/pcl_progressive_morphological_filter
179 %attr(755,root,root) %{_bindir}/pcl_radius_filter
180 %attr(755,root,root) %{_bindir}/pcl_sac_segmentation_plane
181 %attr(755,root,root) %{_bindir}/pcl_train_linemod_template
182 %attr(755,root,root) %{_bindir}/pcl_uniform_sampling
183 %attr(755,root,root) %{_bindir}/pcl_xyz2pcd
185 %attr(755,root,root) %{_bindir}/pcl_add_gaussian_noise
186 %attr(755,root,root) %{_bindir}/pcl_boundary_estimation
187 %attr(755,root,root) %{_bindir}/pcl_cluster_extraction
188 %attr(755,root,root) %{_bindir}/pcl_compute_cloud_error
189 %attr(755,root,root) %{_bindir}/pcl_crop_to_hull
190 %attr(755,root,root) %{_bindir}/pcl_elch
191 %attr(755,root,root) %{_bindir}/pcl_extract_feature
192 %attr(755,root,root) %{_bindir}/pcl_fpfh_estimation
193 %attr(755,root,root) %{_bindir}/pcl_gp3_surface
194 %attr(755,root,root) %{_bindir}/pcl_ground_based_rgbd_people_detector
195 %attr(755,root,root) %{_bindir}/pcl_hdl_viewer_simple
196 %attr(755,root,root) %{_bindir}/pcl_icp
197 %attr(755,root,root) %{_bindir}/pcl_icp2d
198 %attr(755,root,root) %{_bindir}/pcl_image_grabber_saver
199 %attr(755,root,root) %{_bindir}/pcl_image_grabber_viewer
200 %attr(755,root,root) %{_bindir}/pcl_marching_cubes_reconstruction
201 %attr(755,root,root) %{_bindir}/pcl_mesh2pcd
202 %attr(755,root,root) %{_bindir}/pcl_mesh_sampling
203 %attr(755,root,root) %{_bindir}/pcl_mls_smoothing
204 %attr(755,root,root) %{_bindir}/pcl_normal_estimation
205 %attr(755,root,root) %{_bindir}/pcl_obj2vtk
206 %attr(755,root,root) %{_bindir}/pcl_obj_rec_ransac_accepted_hypotheses
207 %attr(755,root,root) %{_bindir}/pcl_obj_rec_ransac_hash_table
208 %attr(755,root,root) %{_bindir}/pcl_obj_rec_ransac_model_opps
209 %attr(755,root,root) %{_bindir}/pcl_obj_rec_ransac_orr_octree
210 %attr(755,root,root) %{_bindir}/pcl_obj_rec_ransac_orr_octree_zprojection
211 %attr(755,root,root) %{_bindir}/pcl_obj_rec_ransac_result
212 %attr(755,root,root) %{_bindir}/pcl_obj_rec_ransac_scene_opps
213 %attr(755,root,root) %{_bindir}/pcl_octree_viewer
214 %attr(755,root,root) %{_bindir}/pcl_oni_viewer
215 %attr(755,root,root) %{_bindir}/pcl_openni_image
216 %attr(755,root,root) %{_bindir}/pcl_openni_save_image
217 %attr(755,root,root) %{_bindir}/pcl_openni_viewer
218 %attr(755,root,root) %{_bindir}/pcl_organized_pcd_to_png
219 %attr(755,root,root) %{_bindir}/pcl_outlier_removal
220 %attr(755,root,root) %{_bindir}/pcl_passthrough_filter
221 %attr(755,root,root) %{_bindir}/pcl_pcd2ply
222 %attr(755,root,root) %{_bindir}/pcl_pcd2png
223 %attr(755,root,root) %{_bindir}/pcl_pcd2vtk
224 %attr(755,root,root) %{_bindir}/pcl_pcd_grabber_viewer
225 %attr(755,root,root) %{_bindir}/pcl_pcd_image_viewer
226 %attr(755,root,root) %{_bindir}/pcl_plane_projection
227 %attr(755,root,root) %{_bindir}/pcl_ply2pcd
228 %attr(755,root,root) %{_bindir}/pcl_ply2vtk
229 %attr(755,root,root) %{_bindir}/pcl_png2pcd
230 %attr(755,root,root) %{_bindir}/pcl_poisson_reconstruction
231 %attr(755,root,root) %{_bindir}/pcl_registration_visualizer
232 %attr(755,root,root) %{_bindir}/pcl_spin_estimation
233 %attr(755,root,root) %{_bindir}/pcl_tiff2pcd
234 %attr(755,root,root) %{_bindir}/pcl_timed_trigger_test
235 %attr(755,root,root) %{_bindir}/pcl_transform_from_viewpoint
236 %attr(755,root,root) %{_bindir}/pcl_transform_point_cloud
237 %attr(755,root,root) %{_bindir}/pcl_vfh_estimation
238 %{?with_tawara:%attr(755,root,root) %{_bindir}/pcl_video}
239 %attr(755,root,root) %{_bindir}/pcl_viewer
240 %attr(755,root,root) %{_bindir}/pcl_virtual_scanner
241 %attr(755,root,root) %{_bindir}/pcl_voxel_grid
242 %attr(755,root,root) %{_bindir}/pcl_voxel_grid_occlusion_estimation
243 %attr(755,root,root) %{_bindir}/pcl_vtk2obj
244 %attr(755,root,root) %{_bindir}/pcl_vtk2pcd
245 %attr(755,root,root) %{_bindir}/pcl_vtk2ply
247 %attr(755,root,root) %{_libdir}/libpcl_common.so.*.*.*
248 %attr(755,root,root) %ghost %{_libdir}/libpcl_common.so.1.7
249 %attr(755,root,root) %{_libdir}/libpcl_features.so.*.*.*
250 %attr(755,root,root) %ghost %{_libdir}/libpcl_features.so.1.7
251 %attr(755,root,root) %{_libdir}/libpcl_filters.so.*.*.*
252 %attr(755,root,root) %ghost %{_libdir}/libpcl_filters.so.1.7
253 %attr(755,root,root) %{_libdir}/libpcl_io.so.*.*.*
254 %attr(755,root,root) %ghost %{_libdir}/libpcl_io.so.1.7
255 %attr(755,root,root) %{_libdir}/libpcl_io_ply.so.*.*.*
256 %attr(755,root,root) %ghost %{_libdir}/libpcl_io_ply.so.1.7
257 %attr(755,root,root) %{_libdir}/libpcl_kdtree.so.*.*.*
258 %attr(755,root,root) %ghost %{_libdir}/libpcl_kdtree.so.1.7
259 %attr(755,root,root) %{_libdir}/libpcl_keypoints.so.*.*.*
260 %attr(755,root,root) %ghost %{_libdir}/libpcl_keypoints.so.1.7
261 %attr(755,root,root) %{_libdir}/libpcl_octree.so.*.*.*
262 %attr(755,root,root) %ghost %{_libdir}/libpcl_octree.so.1.7
263 %attr(755,root,root) %{_libdir}/libpcl_outofcore.so.*.*.*
264 %attr(755,root,root) %ghost %{_libdir}/libpcl_outofcore.so.1.7
265 %attr(755,root,root) %{_libdir}/libpcl_recognition.so.*.*.*
266 %attr(755,root,root) %ghost %{_libdir}/libpcl_recognition.so.1.7
267 %attr(755,root,root) %{_libdir}/libpcl_registration.so.*.*.*
268 %attr(755,root,root) %ghost %{_libdir}/libpcl_registration.so.1.7
269 %attr(755,root,root) %{_libdir}/libpcl_sample_consensus.so.*.*.*
270 %attr(755,root,root) %ghost %{_libdir}/libpcl_sample_consensus.so.1.7
271 %attr(755,root,root) %{_libdir}/libpcl_search.so.*.*.*
272 %attr(755,root,root) %ghost %{_libdir}/libpcl_search.so.1.7
273 %attr(755,root,root) %{_libdir}/libpcl_segmentation.so.*.*.*
274 %attr(755,root,root) %ghost %{_libdir}/libpcl_segmentation.so.1.7
275 %attr(755,root,root) %{_libdir}/libpcl_surface.so.*.*.*
276 %attr(755,root,root) %ghost %{_libdir}/libpcl_surface.so.1.7
277 %attr(755,root,root) %{_libdir}/libpcl_tracking.so.*.*.*
278 %attr(755,root,root) %ghost %{_libdir}/libpcl_tracking.so.1.7
280 %attr(755,root,root) %{_libdir}/libpcl_people.so.*.*.*
281 %attr(755,root,root) %ghost %{_libdir}/libpcl_people.so.1.7
282 %attr(755,root,root) %{_libdir}/libpcl_visualization.so.*.*.*
283 %attr(755,root,root) %ghost %{_libdir}/libpcl_visualization.so.1.7
287 %defattr(644,root,root,755)
288 %attr(755,root,root) %{_libdir}/libpcl_common.so
289 %attr(755,root,root) %{_libdir}/libpcl_features.so
290 %attr(755,root,root) %{_libdir}/libpcl_filters.so
291 %attr(755,root,root) %{_libdir}/libpcl_io.so
292 %attr(755,root,root) %{_libdir}/libpcl_io_ply.so
293 %attr(755,root,root) %{_libdir}/libpcl_kdtree.so
294 %attr(755,root,root) %{_libdir}/libpcl_keypoints.so
295 %attr(755,root,root) %{_libdir}/libpcl_octree.so
296 %attr(755,root,root) %{_libdir}/libpcl_outofcore.so
297 %attr(755,root,root) %{_libdir}/libpcl_recognition.so
298 %attr(755,root,root) %{_libdir}/libpcl_registration.so
299 %attr(755,root,root) %{_libdir}/libpcl_sample_consensus.so
300 %attr(755,root,root) %{_libdir}/libpcl_search.so
301 %attr(755,root,root) %{_libdir}/libpcl_segmentation.so
302 %attr(755,root,root) %{_libdir}/libpcl_surface.so
303 %attr(755,root,root) %{_libdir}/libpcl_tracking.so
305 %attr(755,root,root) %{_libdir}/libpcl_people.so
306 %attr(755,root,root) %{_libdir}/libpcl_visualization.so
308 %{_includedir}/pcl-1.7
309 %{_pkgconfigdir}/pcl_common-1.7.pc
310 %{_pkgconfigdir}/pcl_features-1.7.pc
311 %{_pkgconfigdir}/pcl_filters-1.7.pc
312 %{_pkgconfigdir}/pcl_geometry-1.7.pc
313 %{_pkgconfigdir}/pcl_io-1.7.pc
314 %{_pkgconfigdir}/pcl_kdtree-1.7.pc
315 %{_pkgconfigdir}/pcl_keypoints-1.7.pc
316 %{_pkgconfigdir}/pcl_octree-1.7.pc
317 %{_pkgconfigdir}/pcl_outofcore-1.7.pc
318 %{_pkgconfigdir}/pcl_recognition-1.7.pc
319 %{_pkgconfigdir}/pcl_registration-1.7.pc
320 %{_pkgconfigdir}/pcl_sample_consensus-1.7.pc
321 %{_pkgconfigdir}/pcl_search-1.7.pc
322 %{_pkgconfigdir}/pcl_segmentation-1.7.pc
323 %{_pkgconfigdir}/pcl_surface-1.7.pc
324 %{_pkgconfigdir}/pcl_tracking-1.7.pc
326 %{_pkgconfigdir}/pcl_people-1.7.pc
327 %{_pkgconfigdir}/pcl_visualization-1.7.pc
329 %dir %{_datadir}/pcl-1.7
330 %{_datadir}/pcl-1.7/PCLConfig*.cmake
334 %defattr(644,root,root,755)
335 %dir %{_docdir}/pcl-1.7
336 %{_docdir}/pcl-1.7/advanced
337 %{_docdir}/pcl-1.7/html
338 %{_docdir}/pcl-1.7/tutorials