set(android_defs "-DBOOST_HAS_PTHREADS")

set(module_root_path ${pcl_root}/)
set(LOCAL_PATH ${pcl_root})
set(lib_includes  "${pcl_root}/src ${pcl_root}/include ${pcl_root}/include/roslib ${pcl_root}/include/sensor_msgs ${eigen_root} ${cminpack_root} ${flann_src_cpp} ${boost_root}" )

# ---[ Point Cloud Library
  rosbuild_add_library (pcl_base
                        src/pcl/pcl_base.cpp
                       )

# ---[ Point Cloud Library - Features
  rosbuild_add_library (pcl_features
                        src/pcl/features/feature.cpp
                        src/pcl/features/boundary.cpp
                        src/pcl/features/intensity_gradient.cpp
                        src/pcl/features/intensity_spin.cpp
                        src/pcl/features/moment_invariants.cpp
                        src/pcl/features/normal_3d.cpp
                        src/pcl/features/normal_3d_omp.cpp
                        #src/pcl/features/normal_3d_tbb.cpp
                        src/pcl/features/principal_curvatures.cpp
                        src/pcl/features/fpfh.cpp
                        src/pcl/features/fpfh_omp.cpp
                        src/pcl/features/pfh.cpp
                        src/pcl/features/rift.cpp
                        src/pcl/features/rsd.cpp
                        src/pcl/features/vfh.cpp
                        src/pcl/features/narf.cpp
                        src/pcl/features/narf_descriptor.cpp
                       )

# ---[ Point Cloud Library - Features
  rosbuild_add_library (pcl_keypoints
                        src/pcl/keypoints/narf_keypoint.cpp
                       )
# ---[ Point Cloud Library - IO
  rosbuild_add_library (pcl_io
                      src/pcl/io/io.cpp
                      src/pcl/io/pcd_io.cpp
                     )

# ---[ Point Cloud Library - Surface
  rosbuild_add_library (pcl_surface
                        src/pcl/surface/mls.cpp
                        src/pcl/surface/convex_hull.cpp
                        src/pcl/surface/gp3.cpp
                       )

# ---[ Point Cloud Library - KdTree
rosbuild_add_library (pcl_kdtree
                      src/pcl/kdtree/kdtree_flann.cpp
                      src/pcl/kdtree/organized_data.cpp
                      src/pcl/kdtree/tree_types.cpp
                     )

 # ---[ Point Cloud Library - Sample Consensus
rosbuild_add_library (pcl_sample_consensus
                      src/pcl/sample_consensus/lmeds.cpp
                      src/pcl/sample_consensus/ransac.cpp
                      src/pcl/sample_consensus/mlesac.cpp
                      src/pcl/sample_consensus/msac.cpp
                      src/pcl/sample_consensus/rmsac.cpp
                      src/pcl/sample_consensus/rransac.cpp
                      src/pcl/sample_consensus/sac_model_circle.cpp
                      src/pcl/sample_consensus/sac_model_cylinder.cpp
                      src/pcl/sample_consensus/sac_model_normal_parallel_plane.cpp
                      src/pcl/sample_consensus/sac_model_normal_plane.cpp
                      src/pcl/sample_consensus/sac_model_parallel_plane.cpp
                      src/pcl/sample_consensus/sac_model_perpendicular_plane.cpp
                      src/pcl/sample_consensus/sac_model_plane.cpp
                      src/pcl/sample_consensus/sac_model_line.cpp
                      src/pcl/sample_consensus/sac_model_parallel_line.cpp
                      src/pcl/sample_consensus/sac_model_sphere.cpp
                      src/pcl/sample_consensus/sac_model_registration.cpp
                     )


# ---[ Point Cloud Library - Filters
  rosbuild_add_library (pcl_filters
                        src/pcl/filters/filter.cpp
                        src/pcl/filters/passthrough.cpp
                        src/pcl/filters/voxel_grid.cpp
                        src/pcl/filters/extract_indices.cpp
                        src/pcl/filters/project_inliers.cpp
                        src/pcl/filters/radius_outlier_removal.cpp
                        src/pcl/filters/statistical_outlier_removal.cpp
                       )

# ---[ Point Cloud Library - Segmentation
rosbuild_add_library (pcl_segmentation
                      src/pcl/segmentation/segment_differences.cpp
                      src/pcl/segmentation/sac_segmentation.cpp
                      src/pcl/segmentation/extract_clusters.cpp
                      src/pcl/segmentation/extract_polygonal_prism_data.cpp
                     )

  # ---[ Point Cloud Library - Registration
  rosbuild_add_library (pcl_registration
                        src/pcl/registration/registration.cpp
                       )

  # ---[ Point Cloud Library - RangeImage
  rosbuild_add_library (pcl_range_image
                        src/pcl/range_image/range_image.cpp
                        src/pcl/range_image/range_image_planar.cpp
                       )


  rosbuild_add_library (pcl_range_image_border_extractor
                        src/pcl/features/range_image_border_extractor.cpp
                        src/pcl/features/boundary.cpp
                       )
