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