]>
Commit | Line | Data |
---|---|---|
4c0e3b4c | 1 | # TODO: MPI, ROS? |
ca4db9a4 JB |
2 | # |
3 | # Conditional build: | |
4c0e3b4c JB |
4 | %bcond_without apidocs # do not build and package API docs |
5 | %bcond_without vtk # VTK support in libpcl_{io,surface} + libpcl_{apps,visualization} libs | |
ca4db9a4 JB |
6 | # |
7 | Summary: Point Cloud Library - library for point cloud processing | |
8 | Summary(pl.UTF-8): Point Cloud Library - biblioteka do operacji na chmurze punktów | |
9 | Name: pcl | |
92237c8c | 10 | Version: 1.6.0 |
b01dd043 | 11 | Release: 1 |
ca4db9a4 JB |
12 | License: BSD |
13 | Group: Libraries | |
92237c8c JB |
14 | #Source0Download: http://pointclouds.org/downloads/ |
15 | Source0: http://www.pointclouds.org/assets/files/1.6.0/PCL-%{version}-Source.tar.bz2 | |
16 | # Source0-md5: f83ca5d0ff290412b0807864b95eba26 | |
ca4db9a4 | 17 | Patch0: %{name}-link.patch |
bc8fb1e0 | 18 | Patch1: %{name}-openni.patch |
ca4db9a4 JB |
19 | URL: http://pointclouds.org/ |
20 | BuildRequires: OpenNI-devel | |
4c0e3b4c JB |
21 | BuildRequires: boost-devel >= 1.40 |
22 | BuildRequires: cmake >= 2.8 | |
ca4db9a4 JB |
23 | BuildRequires: eigen3 >= 3 |
24 | BuildRequires: flann-devel | |
25 | BuildRequires: gcc-c++ >= 6:4.2 | |
26 | BuildRequires: libgomp-devel | |
27 | BuildRequires: libstdc++-devel | |
28 | BuildRequires: libusb-devel >= 1.0 | |
29 | BuildRequires: qhull-devel | |
30 | BuildRequires: python | |
31 | BuildRequires: sed >= 4.0 | |
4c0e3b4c JB |
32 | # FIXME: only vtk-devel is really required, the rest only because of checks in VTK cmake files |
33 | %{?with_vtk:BuildRequires: vtk-devel} | |
34 | %{?with_vtk:BuildRequires: vtk-java} | |
35 | %{?with_vtk:BuildRequires: vtk-python} | |
36 | %{?with_vtk:BuildRequires: vtk-python-qt} | |
37 | %{?with_vtk:BuildRequires: vtk-tcl} | |
ca4db9a4 JB |
38 | %if %{with apidocs} |
39 | BuildRequires: doxygen | |
92237c8c | 40 | BuildRequires: python-sphinxcontrib-doxylink >= 1.3 |
ca4db9a4 JB |
41 | BuildRequires: sphinx-pdg |
42 | %endif | |
43 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) | |
44 | ||
45 | %description | |
46 | The Point Cloud Library (PCL) is a standalone, large scale, open | |
47 | project for 3D point cloud processing. | |
48 | ||
49 | The PCL framework contains numerous state-of-the art algorithms | |
50 | including filtering, feature estimation, surface reconstruction, | |
51 | registration, model fitting and segmentation, as well as higher level | |
52 | tools for performing mapping and object recognition. Think of it as | |
53 | the Boost of 3D point cloud processing. | |
54 | ||
55 | %description -l pl.UTF-8 | |
56 | Biblioteka PCL (Point Cloud Processing) to samodzielna, wielkoskalowa, | |
57 | mająca otwarte źródła biblioteka do przetwarzania chmury punktów 3D. | |
58 | ||
59 | Szkielet PCL zawiera wiele współczesnych algorytmów, obejmujących | |
60 | filtrowanie, przybliżanie cech, rekonstrukcję powierzchni, | |
61 | rejestrację, dopasowywanie modeli oraz segmentację, a także narzędzia | |
62 | wyższego poziomu do wykonywania odwzorowań oraz rozpoznawania | |
63 | obiektów. O bibliotece można myśleć jako odpowiedniku Boosta do | |
64 | przetwarzania chmury punktów 3D. | |
65 | ||
66 | %package devel | |
67 | Summary: Header files for PCL library | |
68 | Summary(pl.UTF-8): Pliki nagłówkowe biblioteki PCL | |
69 | Group: Development/Libraries | |
70 | Requires: %{name} = %{version}-%{release} | |
4c0e3b4c | 71 | %{?with_vtk:Requires: vtk-devel} |
ca4db9a4 JB |
72 | |
73 | %description devel | |
74 | Header files for PCL library. | |
75 | ||
76 | %description devel -l pl.UTF-8 | |
77 | Pliki nagłówkowe biblioteki PCL. | |
78 | ||
79 | %package apidocs | |
80 | Summary: PCL API documentation and tutorials | |
81 | Summary(pl.UTF-8): Dokumentacja API oraz wprowadzenie do biblioteki PCL | |
82 | Group: Documentation | |
83 | ||
84 | %description apidocs | |
85 | API documentation and tutorials for PCL library. | |
86 | ||
87 | %description apidocs -l pl.UTF-8 | |
88 | Dokumentacja API oraz wprowadzenie do biblioteki PCL. | |
89 | ||
90 | %prep | |
91 | %setup -q -n PCL-%{version}-Source | |
92 | %patch0 -p1 | |
bc8fb1e0 | 93 | %patch1 -p1 |
ca4db9a4 | 94 | |
92237c8c | 95 | # don't use SSE/SSE2/SSE3 just because compiler and builder host supports it |
ca4db9a4 JB |
96 | %{__sed} -i -e '/^PCL_CHECK_FOR_SSE/d' CMakeLists.txt |
97 | ||
98 | %build | |
99 | mkdir build | |
100 | cd build | |
bc8fb1e0 JB |
101 | # LIB_INSTALL_DIR specified by PLD cmake macro is incompatible with what PCL expects |
102 | %cmake .. \ | |
103 | -DLIB_INSTALL_DIR=%{_lib} | |
ca4db9a4 JB |
104 | %{__make} |
105 | ||
92237c8c | 106 | # why it's not called on build? |
ca4db9a4 JB |
107 | %if %{with apidocs} |
108 | cd doc/doxygen | |
109 | doxygen doxyfile | |
110 | cd ../tutorials | |
111 | sphinx-build -b html -a -d doctrees ../../../doc/tutorials/content html | |
112 | %endif | |
113 | ||
114 | %install | |
115 | rm -rf $RPM_BUILD_ROOT | |
116 | ||
117 | %{__make} -C build install \ | |
118 | DESTDIR=$RPM_BUILD_ROOT | |
119 | ||
120 | %clean | |
121 | rm -rf $RPM_BUILD_ROOT | |
122 | ||
123 | %post -p /sbin/ldconfig | |
124 | %postun -p /sbin/ldconfig | |
125 | ||
126 | %files | |
127 | %defattr(644,root,root,755) | |
128 | %doc AUTHORS.txt LICENSE.txt | |
92237c8c JB |
129 | %attr(755,root,root) %{_bindir}/pcl_convert_pcd_ascii_binary |
130 | %attr(755,root,root) %{_bindir}/pcl_openni_grabber_example | |
131 | %attr(755,root,root) %{_bindir}/pcl_openni_io | |
132 | %attr(755,root,root) %{_bindir}/pcl_pcd_convert_NaN_nan | |
133 | %attr(755,root,root) %{_bindir}/pcl_ply2obj | |
134 | %attr(755,root,root) %{_bindir}/pcl_ply2ply | |
135 | %attr(755,root,root) %{_bindir}/pcl_ply2raw | |
136 | %attr(755,root,root) %{_bindir}/pcl_plyheader | |
4c0e3b4c JB |
137 | %if %{with vtk} |
138 | %attr(755,root,root) %{_bindir}/oni_viewer | |
139 | %attr(755,root,root) %{_bindir}/openni_fast_mesh | |
140 | %attr(755,root,root) %{_bindir}/openni_ii_normal_estimation | |
141 | %attr(755,root,root) %{_bindir}/openni_image | |
142 | %attr(755,root,root) %{_bindir}/openni_viewer | |
143 | %attr(755,root,root) %{_bindir}/openni_voxel_grid | |
144 | %attr(755,root,root) %{_bindir}/pcd_grabber_viewer | |
145 | %attr(755,root,root) %{_bindir}/pcd_viewer | |
146 | %attr(755,root,root) %{_bindir}/pcl_add_gaussian_noise | |
147 | %attr(755,root,root) %{_bindir}/pcl_boundary_estimation | |
148 | %attr(755,root,root) %{_bindir}/pcl_cluster_extraction | |
149 | %attr(755,root,root) %{_bindir}/pcl_compute_cloud_error | |
150 | %attr(755,root,root) %{_bindir}/pcl_crop_to_hull | |
151 | %attr(755,root,root) %{_bindir}/pcl_elch | |
152 | %attr(755,root,root) %{_bindir}/pcl_extract_feature | |
153 | %attr(755,root,root) %{_bindir}/pcl_feature_matching | |
154 | %attr(755,root,root) %{_bindir}/pcl_fpfh_estimation | |
155 | %attr(755,root,root) %{_bindir}/pcl_gp3_surface | |
156 | %attr(755,root,root) %{_bindir}/pcl_icp | |
157 | %attr(755,root,root) %{_bindir}/pcl_icp2d | |
158 | %attr(755,root,root) %{_bindir}/pcl_marching_cubes_reconstruction | |
159 | %attr(755,root,root) %{_bindir}/pcl_mesh2pcd | |
160 | %attr(755,root,root) %{_bindir}/pcl_mesh_sampling | |
161 | %attr(755,root,root) %{_bindir}/pcl_mls_smoothing | |
162 | %attr(755,root,root) %{_bindir}/pcl_multiscale_feature_persistence_example | |
163 | %attr(755,root,root) %{_bindir}/pcl_nn_classification_example | |
164 | %attr(755,root,root) %{_bindir}/pcl_normal_estimation | |
165 | %attr(755,root,root) %{_bindir}/pcl_octree_viewer | |
166 | %attr(755,root,root) %{_bindir}/pcl_openni_3d_concave_hull | |
167 | %attr(755,root,root) %{_bindir}/pcl_openni_3d_convex_hull | |
168 | %attr(755,root,root) %{_bindir}/pcl_openni_boundary_estimation | |
169 | %attr(755,root,root) %{_bindir}/pcl_openni_change_viewer | |
170 | %attr(755,root,root) %{_bindir}/pcl_openni_fast_mesh | |
171 | %attr(755,root,root) %{_bindir}/pcl_openni_feature_persistence | |
172 | %attr(755,root,root) %{_bindir}/pcl_openni_floodfill_planar_segmentation | |
173 | %attr(755,root,root) %{_bindir}/pcl_openni_grab_frame | |
174 | %attr(755,root,root) %{_bindir}/pcl_openni_ii_normal_estimation | |
175 | %attr(755,root,root) %{_bindir}/pcl_openni_mls_smoothing | |
176 | %attr(755,root,root) %{_bindir}/pcl_openni_organized_multi_plane_segmentation | |
177 | %attr(755,root,root) %{_bindir}/pcl_openni_planar_convex_hull | |
178 | %attr(755,root,root) %{_bindir}/pcl_openni_planar_segmentation | |
179 | %attr(755,root,root) %{_bindir}/pcl_openni_save_image | |
180 | %attr(755,root,root) %{_bindir}/pcl_openni_stream_compression | |
181 | %attr(755,root,root) %{_bindir}/pcl_openni_tracking | |
182 | %attr(755,root,root) %{_bindir}/pcl_openni_uniform_sampling | |
183 | %attr(755,root,root) %{_bindir}/pcl_openni_voxel_grid | |
184 | %attr(755,root,root) %{_bindir}/pcl_outlier_removal | |
185 | %attr(755,root,root) %{_bindir}/pcl_passthrough_filter | |
186 | %attr(755,root,root) %{_bindir}/pcl_pcd2ply | |
187 | %attr(755,root,root) %{_bindir}/pcl_pcd2vtk | |
188 | %attr(755,root,root) %{_bindir}/pcl_pcd_organized_multi_plane_segmentation | |
189 | %attr(755,root,root) %{_bindir}/pcl_plane_projection | |
190 | %attr(755,root,root) %{_bindir}/pcl_ply2pcd | |
191 | %attr(755,root,root) %{_bindir}/pcl_poisson_reconstruction | |
192 | %attr(755,root,root) %{_bindir}/pcl_ppf_object_recognition | |
193 | %attr(755,root,root) %{_bindir}/pcl_pyramid_surface_matching | |
194 | %attr(755,root,root) %{_bindir}/pcl_registration_visualizer | |
195 | %attr(755,root,root) %{_bindir}/pcl_spin_estimation | |
196 | %attr(755,root,root) %{_bindir}/pcl_statistical_multiscale_interest_region_extraction_example | |
197 | %attr(755,root,root) %{_bindir}/pcl_surfel_smoothing_test | |
198 | %attr(755,root,root) %{_bindir}/pcl_test_search_speed | |
199 | %attr(755,root,root) %{_bindir}/pcl_transform_from_viewpoint | |
200 | %attr(755,root,root) %{_bindir}/pcl_transform_point_cloud | |
201 | %attr(755,root,root) %{_bindir}/pcl_vfh_estimation | |
202 | %attr(755,root,root) %{_bindir}/pcl_virtual_scanner | |
203 | %attr(755,root,root) %{_bindir}/pcl_voxel_grid | |
204 | %attr(755,root,root) %{_bindir}/timed_trigger_test | |
205 | %endif | |
ca4db9a4 | 206 | %attr(755,root,root) %{_libdir}/libpcl_common.so.*.*.* |
92237c8c | 207 | %attr(755,root,root) %ghost %{_libdir}/libpcl_common.so.1.6 |
ca4db9a4 | 208 | %attr(755,root,root) %{_libdir}/libpcl_features.so.*.*.* |
92237c8c | 209 | %attr(755,root,root) %ghost %{_libdir}/libpcl_features.so.1.6 |
ca4db9a4 | 210 | %attr(755,root,root) %{_libdir}/libpcl_filters.so.*.*.* |
92237c8c JB |
211 | %attr(755,root,root) %ghost %{_libdir}/libpcl_filters.so.1.6 |
212 | %attr(755,root,root) %{_libdir}/libpcl_geometry.so.*.*.* | |
213 | %attr(755,root,root) %ghost %{_libdir}/libpcl_geometry.so.1.6 | |
ca4db9a4 | 214 | %attr(755,root,root) %{_libdir}/libpcl_io.so.*.*.* |
92237c8c JB |
215 | %attr(755,root,root) %ghost %{_libdir}/libpcl_io.so.1.6 |
216 | %attr(755,root,root) %{_libdir}/libpcl_io_ply.so.*.*.* | |
217 | %attr(755,root,root) %ghost %{_libdir}/libpcl_io_ply.so.1.6 | |
ca4db9a4 | 218 | %attr(755,root,root) %{_libdir}/libpcl_kdtree.so.*.*.* |
92237c8c | 219 | %attr(755,root,root) %ghost %{_libdir}/libpcl_kdtree.so.1.6 |
ca4db9a4 | 220 | %attr(755,root,root) %{_libdir}/libpcl_keypoints.so.*.*.* |
92237c8c | 221 | %attr(755,root,root) %ghost %{_libdir}/libpcl_keypoints.so.1.6 |
ca4db9a4 | 222 | %attr(755,root,root) %{_libdir}/libpcl_octree.so.*.*.* |
92237c8c | 223 | %attr(755,root,root) %ghost %{_libdir}/libpcl_octree.so.1.6 |
ca4db9a4 | 224 | %attr(755,root,root) %{_libdir}/libpcl_registration.so.*.*.* |
92237c8c | 225 | %attr(755,root,root) %ghost %{_libdir}/libpcl_registration.so.1.6 |
ca4db9a4 | 226 | %attr(755,root,root) %{_libdir}/libpcl_sample_consensus.so.*.*.* |
92237c8c | 227 | %attr(755,root,root) %ghost %{_libdir}/libpcl_sample_consensus.so.1.6 |
ca4db9a4 | 228 | %attr(755,root,root) %{_libdir}/libpcl_search.so.*.*.* |
92237c8c | 229 | %attr(755,root,root) %ghost %{_libdir}/libpcl_search.so.1.6 |
ca4db9a4 | 230 | %attr(755,root,root) %{_libdir}/libpcl_segmentation.so.*.*.* |
92237c8c | 231 | %attr(755,root,root) %ghost %{_libdir}/libpcl_segmentation.so.1.6 |
ca4db9a4 | 232 | %attr(755,root,root) %{_libdir}/libpcl_surface.so.*.*.* |
92237c8c JB |
233 | %attr(755,root,root) %ghost %{_libdir}/libpcl_surface.so.1.6 |
234 | %attr(755,root,root) %{_libdir}/libpcl_tracking.so.*.*.* | |
235 | %attr(755,root,root) %ghost %{_libdir}/libpcl_tracking.so.1.6 | |
4c0e3b4c JB |
236 | %if %{with vtk} |
237 | %attr(755,root,root) %{_libdir}/libpcl_apps.so.*.*.* | |
238 | %attr(755,root,root) %ghost %{_libdir}/libpcl_apps.so.1.6 | |
239 | %attr(755,root,root) %{_libdir}/libpcl_visualization.so.*.*.* | |
240 | %attr(755,root,root) %ghost %{_libdir}/libpcl_visualization.so.1.6 | |
241 | %endif | |
ca4db9a4 JB |
242 | |
243 | %files devel | |
244 | %defattr(644,root,root,755) | |
245 | %attr(755,root,root) %{_libdir}/libpcl_common.so | |
246 | %attr(755,root,root) %{_libdir}/libpcl_features.so | |
247 | %attr(755,root,root) %{_libdir}/libpcl_filters.so | |
92237c8c | 248 | %attr(755,root,root) %{_libdir}/libpcl_geometry.so |
ca4db9a4 | 249 | %attr(755,root,root) %{_libdir}/libpcl_io.so |
92237c8c | 250 | %attr(755,root,root) %{_libdir}/libpcl_io_ply.so |
ca4db9a4 JB |
251 | %attr(755,root,root) %{_libdir}/libpcl_kdtree.so |
252 | %attr(755,root,root) %{_libdir}/libpcl_keypoints.so | |
253 | %attr(755,root,root) %{_libdir}/libpcl_octree.so | |
ca4db9a4 JB |
254 | %attr(755,root,root) %{_libdir}/libpcl_registration.so |
255 | %attr(755,root,root) %{_libdir}/libpcl_sample_consensus.so | |
256 | %attr(755,root,root) %{_libdir}/libpcl_search.so | |
257 | %attr(755,root,root) %{_libdir}/libpcl_segmentation.so | |
258 | %attr(755,root,root) %{_libdir}/libpcl_surface.so | |
92237c8c | 259 | %attr(755,root,root) %{_libdir}/libpcl_tracking.so |
4c0e3b4c JB |
260 | %if %{with vtk} |
261 | %attr(755,root,root) %{_libdir}/libpcl_apps.so | |
262 | %attr(755,root,root) %{_libdir}/libpcl_visualization.so | |
263 | %endif | |
92237c8c JB |
264 | %{_includedir}/pcl-1.6 |
265 | %{_pkgconfigdir}/pcl_common-1.6.pc | |
266 | %{_pkgconfigdir}/pcl_features-1.6.pc | |
267 | %{_pkgconfigdir}/pcl_filters-1.6.pc | |
268 | %{_pkgconfigdir}/pcl_geometry-1.6.pc | |
269 | %{_pkgconfigdir}/pcl_io-1.6.pc | |
270 | %{_pkgconfigdir}/pcl_kdtree-1.6.pc | |
271 | %{_pkgconfigdir}/pcl_keypoints-1.6.pc | |
272 | %{_pkgconfigdir}/pcl_octree-1.6.pc | |
273 | %{_pkgconfigdir}/pcl_registration-1.6.pc | |
274 | %{_pkgconfigdir}/pcl_sample_consensus-1.6.pc | |
275 | %{_pkgconfigdir}/pcl_search-1.6.pc | |
276 | %{_pkgconfigdir}/pcl_segmentation-1.6.pc | |
277 | %{_pkgconfigdir}/pcl_surface-1.6.pc | |
278 | %{_pkgconfigdir}/pcl_tracking-1.6.pc | |
4c0e3b4c JB |
279 | %if %{with vtk} |
280 | %{_pkgconfigdir}/pcl_apps-1.6.pc | |
281 | %{_pkgconfigdir}/pcl_visualization-1.6.pc | |
282 | %endif | |
92237c8c JB |
283 | %dir %{_datadir}/pcl-1.6 |
284 | %{_datadir}/pcl-1.6/PCLConfig*.cmake | |
ca4db9a4 JB |
285 | |
286 | %if %{with apidocs} | |
287 | %files apidocs | |
288 | %defattr(644,root,root,755) | |
92237c8c JB |
289 | %dir %{_docdir}/pcl-1.6 |
290 | %{_docdir}/pcl-1.6/html | |
291 | %{_docdir}/pcl-1.6/tutorials | |
ca4db9a4 | 292 | %endif |