Skip to content

Commit

Permalink
Make cupoch/cupoch.h work with a subset of modules
Browse files Browse the repository at this point in the history
  • Loading branch information
valgur committed May 22, 2023
1 parent 0f38658 commit d277f53
Show file tree
Hide file tree
Showing 23 changed files with 60 additions and 41 deletions.
1 change: 1 addition & 0 deletions conanfile.py
Original file line number Diff line number Diff line change
Expand Up @@ -192,6 +192,7 @@ def package_info(self):
# component.requires = MODULE_DEPS.get(module, [])
self.cpp_info.libs += [f"cupoch_{module}"]
self.cpp_info.libs += mod_lib_deps.get(module, [])
self.cpp_info.defines.append(f"CUPOCH_{module.upper()}_ENABLED")
self.cpp_info.libs += ["cupoch_utility"]

# Propagate necessary build flags
Expand Down
6 changes: 1 addition & 5 deletions examples/cpp/image.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,7 @@
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
* IN THE SOFTWARE.
**/
#include "cupoch/geometry/image.h"
#include "cupoch/io/class_io/image_io.h"
#include "cupoch/utility/console.h"
#include "cupoch/utility/helper.h"
#include "cupoch/visualization/utility/draw_geometry.h"
#include "cupoch/cupoch.h"

int main(int argc, char **argv) {
using namespace cupoch;
Expand Down
4 changes: 1 addition & 3 deletions examples/cpp/kinematics.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,7 @@
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
* IN THE SOFTWARE.
**/
#include "cupoch/kinematics/kinematic_chain.h"
#include "cupoch/utility/console.h"
#include "cupoch/visualization/utility/draw_geometry.h"
#include "cupoch/cupoch.h"

int main(int argc, char *argv[]) {
using namespace cupoch;
Expand Down
6 changes: 1 addition & 5 deletions examples/cpp/pointcloud.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,7 @@
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
* IN THE SOFTWARE.
**/
#include "cupoch/geometry/pointcloud.h"
#include "cupoch/io/class_io/pointcloud_io.h"
#include "cupoch/utility/console.h"
#include "cupoch/utility/helper.h"
#include "cupoch/visualization/utility/draw_geometry.h"
#include "cupoch/cupoch.h"

int main(int argc, char *argv[]) {
using namespace cupoch;
Expand Down
7 changes: 1 addition & 6 deletions examples/cpp/registration.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,7 @@
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
* IN THE SOFTWARE.
**/
#include "cupoch/geometry/pointcloud.h"
#include "cupoch/io/class_io/pointcloud_io.h"
#include "cupoch/registration/registration.h"
#include "cupoch/utility/console.h"
#include "cupoch/utility/helper.h"
#include "cupoch/visualization/utility/draw_geometry.h"
#include "cupoch/cupoch.h"

int main(int argc, char *argv[]) {
using namespace cupoch;
Expand Down
6 changes: 1 addition & 5 deletions examples/cpp/trianglemesh.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,7 @@
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
* IN THE SOFTWARE.
**/
#include "cupoch/geometry/trianglemesh.h"
#include "cupoch/io/class_io/trianglemesh_io.h"
#include "cupoch/utility/console.h"
#include "cupoch/utility/helper.h"
#include "cupoch/visualization/utility/draw_geometry.h"
#include "cupoch/cupoch.h"

int main(int argc, char **argv) {
using namespace cupoch;
Expand Down
10 changes: 1 addition & 9 deletions examples/cpp/voxelization.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -18,15 +18,7 @@
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
* IN THE SOFTWARE.
**/
#include "cupoch/cupoch_config.h"
#include "cupoch/geometry/geometry.h"
#include "cupoch/geometry/pointcloud.h"
#include "cupoch/geometry/voxelgrid.h"
#include "cupoch/io/class_io/pointcloud_io.h"
#include "cupoch/io/class_io/voxelgrid_io.h"
#include "cupoch/utility/console.h"
#include "cupoch/utility/helper.h"
#include "cupoch/visualization/utility/draw_geometry.h"
#include "cupoch/cupoch.h"

using namespace cupoch;

Expand Down
1 change: 1 addition & 0 deletions src/cupoch/camera/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ set(CUPOCH_MODULES ${CUPOCH_MODULES} cupoch_camera PARENT_SCOPE)
file(GLOB_RECURSE CAMERA_SOURCE_FILES "*.cpp")
add_library(cupoch_camera ${CAMERA_SOURCE_FILES})
add_library(cupoch::camera ALIAS cupoch_camera)
target_compile_definitions(cupoch_camera PUBLIC CUPOCH_CAMERA_ENABLED)
target_link_libraries(cupoch_camera
PUBLIC
cupoch::utility
Expand Down
1 change: 1 addition & 0 deletions src/cupoch/collision/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ find_package(tritriintersect REQUIRED CONFIG)
file(GLOB_RECURSE COLLISION_SOURCE_FILES "*.cu")
add_library(cupoch_collision ${COLLISION_SOURCE_FILES})
add_library(cupoch::collision ALIAS cupoch_collision)
target_compile_definitions(cupoch_collision PUBLIC CUPOCH_COLLISION_ENABLED)
target_link_libraries(cupoch_collision
PUBLIC
cupoch::geometry
Expand Down
46 changes: 38 additions & 8 deletions src/cupoch/cupoch.h
Original file line number Diff line number Diff line change
@@ -1,37 +1,67 @@
#pragma once

#include "cupoch/cupoch_config.h"
#include "cupoch/utility/console.h"
#include "cupoch/utility/eigen.h"
#include "cupoch/utility/filesystem.h"
#include "cupoch/utility/helper.h"

#ifdef CUPOCH_CAMERA_ENABLED
#include "cupoch/camera/pinhole_camera_intrinsic.h"
#include "cupoch/camera/pinhole_camera_parameters.h"
#include "cupoch/collision/primitives.h"
#endif

#ifdef CUPOCH_COLLISION_ENABLED
#include "cupoch/collision/collision.h"
#include "cupoch/cupoch_config.h"
#include "cupoch/collision/primitives.h"
#endif

#ifdef CUPOCH_GEOMETRY_ENABLED
#include "cupoch/geometry/boundingvolume.h"
#include "cupoch/geometry/distancetransform.h"
#include "cupoch/geometry/geometry.h"
#include "cupoch/geometry/graph.h"
#include "cupoch/geometry/image.h"
#include "cupoch/geometry/lineset.h"
#include "cupoch/geometry/graph.h"
#include "cupoch/geometry/pointcloud.h"
#include "cupoch/geometry/rgbdimage.h"
#include "cupoch/geometry/trianglemesh.h"
#include "cupoch/geometry/voxelgrid.h"
#endif

#ifdef CUPOCH_KNN_ENABLED
#include "cupoch/knn/kdtree_flann.h"
#endif

#ifdef CUPOCH_IO_ENABLED
#include "cupoch/io/class_io/ijson_convertible_io.h"
#include "cupoch/io/class_io/image_io.h"
#include "cupoch/io/class_io/pointcloud_io.h"
#include "cupoch/io/class_io/trianglemesh_io.h"
#include "cupoch/io/class_io/voxelgrid_io.h"
#include "cupoch/io/ros/pointcloud_msg.h"
#endif

#ifdef CUPOCH_KINEMATICS_ENABLED
#include "cupoch/kinematics/kinematic_chain.h"
#endif

#ifdef CUPOCH_KINFU_ENABLED
#include "cupoch/kinfu/kinfu.h"
#endif

#ifdef CUPOCH_ODOMETRY_ENABLED
#include "cupoch/odometry/odometry.h"
#endif

#ifdef CUPOCH_REGISTRATION_ENABLED
#include "cupoch/registration/feature.h"
#include "cupoch/registration/registration.h"
#include "cupoch/registration/transformation_estimation.h"
#include "cupoch/utility/console.h"
#include "cupoch/utility/eigen.h"
#include "cupoch/utility/filesystem.h"
#include "cupoch/utility/helper.h"
#endif

#ifdef CUPOCH_VISUALIZATION_ENABLED
#include "cupoch/visualization/utility/draw_geometry.h"
#include "cupoch/visualization/visualizer/view_control.h"
#include "cupoch/visualization/visualizer/visualizer.h"
#include "cupoch/visualization/visualizer/visualizer.h"
#endif
1 change: 1 addition & 0 deletions src/cupoch/geometry/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ find_package(tritriintersect REQUIRED CONFIG)
file(GLOB_RECURSE GEOMETRY_SOURCE_FILES "*.cu")
add_library(cupoch_geometry ${GEOMETRY_SOURCE_FILES})
add_library(cupoch::geometry ALIAS cupoch_geometry)
target_compile_definitions(cupoch_geometry PUBLIC CUPOCH_GEOMETRY_ENABLED)
target_link_libraries(cupoch_geometry
PUBLIC
cupoch::utility
Expand Down
1 change: 1 addition & 0 deletions src/cupoch/imageproc/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ find_package(sgm REQUIRED CONFIG)
file(GLOB_RECURSE IMAGEPROC_SOURCE_FILES "*.cpp")
add_library(cupoch_imageproc ${IMAGEPROC_SOURCE_FILES})
add_library(cupoch::imageproc ALIAS cupoch_imageproc)
target_compile_definitions(cupoch_imageproc PUBLIC CUPOCH_IMAGEPROC_ENABLED)
target_link_libraries(cupoch_imageproc
PUBLIC
cupoch::geometry
Expand Down
1 change: 1 addition & 0 deletions src/cupoch/integration/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ file(GLOB_RECURSE ALL_CUDA_SOURCE_FILES "*.cu")
# create object library
add_library(cupoch_integration ${ALL_CUDA_SOURCE_FILES})
add_library(cupoch::integration ALIAS cupoch_integration)
target_compile_definitions(cupoch_integration PUBLIC CUPOCH_INTEGRATION_ENABLED)
target_link_libraries(cupoch_integration
PUBLIC
cupoch::camera
Expand Down
1 change: 1 addition & 0 deletions src/cupoch/io/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ set(IO_ALL_SOURCE_FILES ${IO_CPP_SOURCE_FILES} ${IO_CUDA_SOURCE_FILES})
# Create object library
add_library(cupoch_io ${IO_ALL_SOURCE_FILES})
add_library(cupoch::io ALIAS cupoch_io)
target_compile_definitions(cupoch_io PUBLIC CUPOCH_IO_ENABLED)
target_link_libraries(cupoch_io
PUBLIC
cupoch::geometry
Expand Down
1 change: 1 addition & 0 deletions src/cupoch/kinematics/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ file(GLOB_RECURSE KINEMATICS_SOURCE_FILES "*.cpp")
# Create object library
add_library(cupoch_kinematics ${KINEMATICS_SOURCE_FILES})
add_library(cupoch::kinematics ALIAS cupoch_kinematics)
target_compile_definitions(cupoch_kinematics PUBLIC CUPOCH_KINEMATICS_ENABLED)
target_link_libraries(cupoch_kinematics
PUBLIC
cupoch::collision
Expand Down
1 change: 1 addition & 0 deletions src/cupoch/kinfu/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ file(GLOB_RECURSE KINFU_SOURCE_FILES "*.cpp")
# Create object library
add_library(cupoch_kinfu ${KINFU_SOURCE_FILES})
add_library(cupoch::kinfu ALIAS cupoch_kinfu)
target_compile_definitions(cupoch_kinfu PUBLIC CUPOCH_KINFU_ENABLED)
target_link_libraries(cupoch_kinfu
PUBLIC
cupoch::camera
Expand Down
1 change: 1 addition & 0 deletions src/cupoch/knn/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ file(GLOB_RECURSE ALL_CUDA_SOURCE_FILES "*.cu")
# create object library
add_library(cupoch_knn ${ALL_CUDA_SOURCE_FILES})
add_library(cupoch::knn ALIAS cupoch_knn)
target_compile_definitions(cupoch_knn PUBLIC CUPOCH_KNN_ENABLED)
target_link_libraries(cupoch_knn
PUBLIC
cupoch::utility
Expand Down
1 change: 1 addition & 0 deletions src/cupoch/odometry/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ file(GLOB_RECURSE ALL_CUDA_SOURCE_FILES "*.cu")
# create object library
add_library(cupoch_odometry ${ALL_CUDA_SOURCE_FILES})
add_library(cupoch::odometry ALIAS cupoch_odometry)
target_compile_definitions(cupoch_odometry PUBLIC CUPOCH_ODOMETRY_ENABLED)
target_link_libraries(cupoch_odometry
PUBLIC
cupoch::camera
Expand Down
1 change: 1 addition & 0 deletions src/cupoch/planning/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ set(CUPOCH_MODULES ${CUPOCH_MODULES} cupoch_planning PARENT_SCOPE)
file(GLOB_RECURSE ALL_CUDA_SOURCE_FILES "*.cu")
add_library(cupoch_planning ${ALL_CUDA_SOURCE_FILES})
add_library(cupoch::planning ALIAS cupoch_planning)
target_compile_definitions(cupoch_planning PUBLIC CUPOCH_PLANNING_ENABLED)
target_link_libraries(cupoch_planning
PUBLIC
cupoch::geometry
Expand Down
1 change: 1 addition & 0 deletions src/cupoch/registration/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ find_package(stdgpu REQUIRED CONFIG)
file(GLOB_RECURSE ALL_CUDA_SOURCE_FILES "*.cu")
add_library(cupoch_registration ${ALL_CUDA_SOURCE_FILES})
add_library(cupoch::registration ALIAS cupoch_registration)
target_compile_definitions(cupoch_registration PUBLIC CUPOCH_REGISTRATION_ENABLED)
target_link_libraries(cupoch_registration
PUBLIC
cupoch::knn
Expand Down
1 change: 1 addition & 0 deletions src/cupoch/utility/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ file(GLOB_RECURSE ALL_CPP_SOURCE_FILES "*.cpp")
file(GLOB_RECURSE ALL_CUDA_SOURCE_FILES "*.cu")
add_library(cupoch_utility ${ALL_CUDA_SOURCE_FILES} ${ALL_CPP_SOURCE_FILES})
add_library(cupoch::utility ALIAS cupoch_utility)
target_compile_definitions(cupoch_utility PUBLIC CUPOCH_UTILITY_ENABLED)
target_link_libraries(cupoch_utility
PUBLIC
cupoch::flags
Expand Down
1 change: 1 addition & 0 deletions src/cupoch/visualization/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ file(GLOB_RECURSE VISUALIZATION_CUDA_SOURCE_FILES "*.cu")
# create object library
add_library(cupoch_visualization ${VISUALIZATION_CUDA_SOURCE_FILES} ${VISUALIZATION_CPP_SOURCE_FILES})
add_library(cupoch::visualization ALIAS cupoch_visualization)
target_compile_definitions(cupoch_visualization PUBLIC CUPOCH_VISUALIZATION_ENABLED)
add_dependencies(cupoch_visualization shader_file_target)
target_link_libraries(cupoch_visualization
PUBLIC
Expand Down
1 change: 1 addition & 0 deletions src/python/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ target_link_libraries(${PACKAGE_NAME} PUBLIC pybind11::pybind11)
add_library(cupoch_wrapper cupoch_pybind/device_vector_wrapper.cu
cupoch_pybind/device_map_wrapper.cu)
add_library(cupoch::wrapper ALIAS cupoch_wrapper)
target_compile_definitions(cupoch_wrapper PUBLIC CUPOCH_WRAPPER_ENABLED)
target_include_directories(cupoch_wrapper PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}
)
Expand Down

0 comments on commit d277f53

Please sign in to comment.