diff --git a/CMakeLists.txt b/CMakeLists.txt index 54fd041..f35a139 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -12,9 +12,10 @@ # See the License for the specific language governing permissions and # limitations under the License. -cmake_minimum_required(VERSION 2.8.12) +cmake_minimum_required(VERSION 2.8.12) # Ships with Ubuntu 14.04 (Trusty) project(cartographer) + set(CARTOGRAPHER_MAJOR_VERSION 1) set(CARTOGRAPHER_MINOR_VERSION 0) set(CARTOGRAPHER_PATCH_VERSION 0) @@ -25,13 +26,13 @@ include("${CMAKE_SOURCE_DIR}/cmake/functions.cmake") google_initialize_cartographer_project() google_enable_testing() -include(FindPkgConfig) - -find_package(Boost REQUIRED COMPONENTS system iostreams) +find_package(Boost REQUIRED COMPONENTS iostreams) find_package(Ceres REQUIRED) find_package(Eigen3 REQUIRED) find_package(LuaGoogle REQUIRED) find_package(Protobuf REQUIRED) + +include(FindPkgConfig) PKG_SEARCH_MODULE(CAIRO REQUIRED cairo>=1.12.16) # Only build the documentation if we can find Sphinx. @@ -40,8 +41,6 @@ if(SPHINX_FOUND) add_subdirectory("docs") endif() -SET(ALL_LIBRARIES "" CACHE INTERNAL "ALL_LIBRARIES") - # Install catkin package.xml install(FILES package.xml DESTINATION share/cartographer) @@ -50,8 +49,6 @@ install(DIRECTORY configuration_files DESTINATION share/cartographer/) install(DIRECTORY cmake DESTINATION share/cartographer/) -add_subdirectory("cartographer") - include(CMakePackageConfigHelpers) # Create a cartographer-config.cmake file for the use from the install tree @@ -66,28 +63,136 @@ list(APPEND CARTOGRAPHER_INCLUDE_DIRS "${PROTOBUF_INCLUDE_DIR}") set(CARTOGRAPHER_CMAKE_DIR "${CMAKE_INSTALL_PREFIX}/share/cartographer/cmake") -google_combined_library(cartographer - SRCS "${ALL_LIBRARIES}" +file(GLOB_RECURSE ALL_SRCS "*.cc" "*.h") +file(GLOB_RECURSE ALL_TESTS "*_test.cc") +file(GLOB_RECURSE ALL_EXECUTABLES "*_main.cc") +list(REMOVE_ITEM ALL_SRCS ${ALL_TESTS}) +list(REMOVE_ITEM ALL_SRCS ${ALL_EXECUTABLES}) + +file(GLOB_RECURSE ALL_PROTOS "*.proto") +set(ALL_PROTO_SRCS) +set(ALL_PROTO_HDRS) +foreach(ABS_FIL ${ALL_PROTOS}) + file(RELATIVE_PATH REL_FIL ${CMAKE_SOURCE_DIR} ${ABS_FIL}) + get_filename_component(DIR ${REL_FIL} DIRECTORY) + get_filename_component(FIL_WE ${REL_FIL} NAME_WE) + + list(APPEND ALL_PROTO_SRCS "${CMAKE_BINARY_DIR}/${DIR}/${FIL_WE}.pb.cc") + list(APPEND ALL_PROTO_HDRS "${CMAKE_BINARY_DIR}/${DIR}/${FIL_WE}.pb.h") + + add_custom_command( + OUTPUT "${CMAKE_BINARY_DIR}/${DIR}/${FIL_WE}.pb.cc" + "${CMAKE_BINARY_DIR}/${DIR}/${FIL_WE}.pb.h" + COMMAND ${PROTOBUF_PROTOC_EXECUTABLE} + ARGS --cpp_out ${CMAKE_BINARY_DIR} -I + ${CMAKE_SOURCE_DIR} ${ABS_FIL} + DEPENDS ${ABS_FIL} + COMMENT "Running C++ protocol buffer compiler on ${ABS_FIL}" + VERBATIM + ) +endforeach() + +set_source_files_properties(${ALL_PROTO_SRCS} ${ALL_PROTO_HDRS} PROPERTIES GENERATED TRUE) +list(APPEND ALL_SRCS ${ALL_PROTO_SRCS} ${ALL_PROTO_HDRS}) + +add_library(cartographer ${ALL_SRCS}) +add_subdirectory("cartographer") + +target_include_directories(cartographer SYSTEM PUBLIC + "${EIGEN3_INCLUDE_DIR}") +target_link_libraries(cartographer PUBLIC ${EIGEN3_LIBRARIES}) + +target_include_directories(cartographer SYSTEM PUBLIC + "${CERES_INCLUDE_DIRS}") +target_link_libraries(cartographer PUBLIC ${CERES_LIBRARIES}) + +target_include_directories(cartographer SYSTEM PUBLIC + "${LUA_INCLUDE_DIR}") +target_link_libraries(cartographer PUBLIC ${LUA_LIBRARIES}) + +target_include_directories(cartographer SYSTEM PUBLIC + "${Boost_INCLUDE_DIRS}") +target_link_libraries(cartographer PUBLIC ${Boost_LIBRARIES}) + +target_link_libraries(cartographer PUBLIC webp) + +target_link_libraries(cartographer PUBLIC glog) + +target_link_libraries(cartographer PUBLIC gflags) + +target_include_directories(cartographer SYSTEM PUBLIC + "${CAIRO_INCLUDE_DIRS}") +target_link_libraries(cartographer PUBLIC ${CAIRO_LIBRARIES}) + +target_include_directories(cartographer SYSTEM PUBLIC + ${PROTOBUF_INCLUDE_DIR}) +# TODO(hrapp): This should not explicitly list pthread and use +# PROTOBUF_LIBRARIES, but that failed on first try. +target_link_libraries(cartographer PUBLIC ${PROTOBUF_LIBRARY} pthread) + +# Add the binary directory first, so that port.h is included after it has +# been generated. +target_include_directories(cartographer PUBLIC + $ + $ + $ ) -# TODO(hrapp): Replacing this get_property with a generator expression is not -# very easy: it needs to be expanded into a variable which is then used for -# CONFIGURE_PACKAGE_CONFIG_FILE - I did not find an easy way to do it. A -# complicated way is to file(READ the cartographer-config.cmake.in and -# string(CONFIGURE it, then file(GENERATE the output file. I do not have the -# stomach to attempt this right now. -get_property(CARTOGRAPHER_LIBRARY_FILE TARGET cartographer PROPERTY LOCATION) -get_filename_component(CARTOGRAPHER_LIBRARY_FILE_BASENAME - ${CARTOGRAPHER_LIBRARY_FILE} NAME) -install( - FILES - ${CARTOGRAPHER_LIBRARY_FILE} - DESTINATION - lib -) +# TODO(damonkohler): Create a testing library. +target_include_directories(cartographer SYSTEM PRIVATE + "${GMOCK_INCLUDE_DIRS}") +target_link_libraries(cartographer PUBLIC ${GMOCK_LIBRARIES}) + +set(TARGET_COMPILE_FLAGS "${TARGET_COMPILE_FLAGS} ${GOOG_CXX_FLAGS}") +set_target_properties(cartographer PROPERTIES + COMPILE_FLAGS ${TARGET_COMPILE_FLAGS}) + +install(TARGETS cartographer + ARCHIVE DESTINATION lib + LIBRARY DESTINATION lib + RUNTIME DESTINATION bin) + +# Install source headers. +file(GLOB_RECURSE hdrs "*.h") +foreach(HDR ${hdrs}) + file(RELATIVE_PATH REL_FIL ${CMAKE_SOURCE_DIR} ${HDR}) + get_filename_component(INSTALL_DIR ${REL_FIL} DIRECTORY) + install( + FILES + ${HDR} + DESTINATION + include/${INSTALL_DIR} + ) +endforeach() + +# Install generated headers. +file(GLOB_RECURSE hdrs "*.h.in") +foreach(HDR ${hdrs}) + file(RELATIVE_PATH REL_FIL ${CMAKE_SOURCE_DIR} ${HDR}) + get_filename_component(DIR ${REL_FIL} DIRECTORY) + get_filename_component(FIL_WE ${REL_FIL} NAME_WE) + install( + FILES + ${CMAKE_BINARY_DIR}/${DIR}/${FILE_WE} + DESTINATION + include/${DIR} + ) +endforeach() + +# Install proto headers. +foreach(HDR ${ALL_PROTO_HDRS}) + file(RELATIVE_PATH REL_FIL ${CMAKE_BINARY_DIR} ${HDR}) + get_filename_component(DIR ${REL_FIL} DIRECTORY) + install( + FILES + ${HDR} + DESTINATION + include/${DIR} + ) +endforeach() set(CARTOGRAPHER_LIBRARIES "") -list(APPEND CARTOGRAPHER_LIBRARIES "${CMAKE_INSTALL_PREFIX}/lib/${CARTOGRAPHER_LIBRARY_FILE_BASENAME}") +list(APPEND CARTOGRAPHER_LIBRARIES "${CMAKE_INSTALL_PREFIX}/lib/libcartographer.a") list(APPEND CARTOGRAPHER_LIBRARIES "${CERES_LIBRARIES}") list(APPEND CARTOGRAPHER_LIBRARIES "${Boost_LIBRARIES}") list(APPEND CARTOGRAPHER_LIBRARIES "${LUA_LIBRARIES}") diff --git a/cartographer/CMakeLists.txt b/cartographer/CMakeLists.txt index ee520ed..d9e35ec 100644 --- a/cartographer/CMakeLists.txt +++ b/cartographer/CMakeLists.txt @@ -14,7 +14,6 @@ add_subdirectory("common") add_subdirectory("ground_truth") -add_subdirectory("io") add_subdirectory("kalman_filter") add_subdirectory("mapping") add_subdirectory("mapping_2d") diff --git a/cartographer/common/CMakeLists.txt b/cartographer/common/CMakeLists.txt index aa1b978..7fc9131 100644 --- a/cartographer/common/CMakeLists.txt +++ b/cartographer/common/CMakeLists.txt @@ -12,201 +12,36 @@ # See the License for the specific language governing permissions and # limitations under the License. -add_subdirectory("proto") - configure_file ( ${CMAKE_CURRENT_SOURCE_DIR}/config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config.h) -google_library(common_blocking_queue - USES_GLOG - HDRS - blocking_queue.h - DEPENDS - common_mutex - common_port - common_time -) - -google_library(common_ceres_solver_options - USES_CERES - SRCS - ceres_solver_options.cc - HDRS - ceres_solver_options.h - DEPENDS - common_lua_parameter_dictionary - common_proto_ceres_solver_options -) - -google_library(common_config - HDRS - config.h -) - -google_library(common_configuration_file_resolver - USES_GLOG - SRCS - configuration_file_resolver.cc - HDRS - configuration_file_resolver.h - DEPENDS - common_config - common_lua_parameter_dictionary - common_port -) - -google_library(common_fixed_ratio_sampler - SRCS - fixed_ratio_sampler.cc - HDRS - fixed_ratio_sampler.h - DEPENDS - common_port -) - -google_library(common_histogram - USES_GLOG - SRCS - histogram.cc - HDRS - histogram.h - DEPENDS - common_port -) - -google_library(common_interval - HDRS - interval.h -) - -google_library(common_lua - USES_LUA - HDRS - lua.h -) - -google_library(common_lua_parameter_dictionary - USES_GLOG - SRCS - lua_parameter_dictionary.cc - HDRS - lua_parameter_dictionary.h - DEPENDS - common_lua - common_port -) - -google_library(common_lua_parameter_dictionary_test_helpers - USES_GLOG - HDRS - lua_parameter_dictionary_test_helpers.h - DEPENDS - common_lua_parameter_dictionary - common_make_unique - common_port -) - -google_library(common_make_unique - HDRS - make_unique.h -) - -google_library(common_math - USES_CERES - USES_EIGEN - HDRS - math.h - DEPENDS - common_port -) - -google_library(common_mutex - HDRS - mutex.h - DEPENDS - common_time -) - -google_library(common_port - USES_BOOST - HDRS - port.h -) - -google_library(common_rate_timer - HDRS - rate_timer.h - DEPENDS - common_math - common_port - common_time -) - -google_library(common_thread_pool - USES_GLOG - SRCS - thread_pool.cc - HDRS - thread_pool.h - DEPENDS - common_mutex -) - -google_library(common_time - SRCS - time.cc - HDRS - time.h - DEPENDS - common_port -) - google_test(common_blocking_queue_test SRCS blocking_queue_test.cc - DEPENDS - common_blocking_queue - common_make_unique - common_time ) google_test(common_configuration_files_test SRCS configuration_files_test.cc - DEPENDS - common_config - common_configuration_file_resolver - common_lua_parameter_dictionary - mapping_map_builder ) google_test(common_fixed_ratio_sampler_test SRCS fixed_ratio_sampler_test.cc - DEPENDS - common_fixed_ratio_sampler ) google_test(common_lua_parameter_dictionary_test SRCS lua_parameter_dictionary_test.cc - DEPENDS - common_lua_parameter_dictionary - common_lua_parameter_dictionary_test_helpers - common_make_unique ) google_test(common_math_test SRCS math_test.cc - DEPENDS - common_math ) google_test(common_rate_timer_test SRCS rate_timer_test.cc - DEPENDS - common_rate_timer ) diff --git a/cartographer/common/proto/CMakeLists.txt b/cartographer/common/proto/CMakeLists.txt deleted file mode 100644 index cb8dadd..0000000 --- a/cartographer/common/proto/CMakeLists.txt +++ /dev/null @@ -1,18 +0,0 @@ -# Copyright 2016 The Cartographer Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -google_proto_library(common_proto_ceres_solver_options - SRCS - ceres_solver_options.proto -) diff --git a/cartographer/ground_truth/CMakeLists.txt b/cartographer/ground_truth/CMakeLists.txt index 512aa32..068f84e 100644 --- a/cartographer/ground_truth/CMakeLists.txt +++ b/cartographer/ground_truth/CMakeLists.txt @@ -14,15 +14,6 @@ google_binary(cartographer_compute_relations_metrics - USES_GFLAGS - USES_GLOG SRCS compute_relations_metrics_main.cc - DEPENDS - common_math - common_port - mapping_proto_trajectory - transform_rigid_transform - transform_transform - transform_transform_interpolation_buffer ) diff --git a/cartographer/io/CMakeLists.txt b/cartographer/io/CMakeLists.txt deleted file mode 100644 index ef64115..0000000 --- a/cartographer/io/CMakeLists.txt +++ /dev/null @@ -1,158 +0,0 @@ -google_library(io_cairo_types - USES_CAIRO - HDRS - cairo_types.h -) - -google_library(io_counting_points_processor - USES_GLOG - SRCS - counting_points_processor.cc - HDRS - counting_points_processor.h - DEPENDS - common_lua_parameter_dictionary - common_make_unique - io_points_processor -) - -google_library(io_fixed_ratio_sampling_points_processor - USES_EIGEN - USES_GLOG - SRCS - fixed_ratio_sampling_points_processor.cc - HDRS - fixed_ratio_sampling_points_processor.h - DEPENDS - common_fixed_ratio_sampler - common_lua_parameter_dictionary - common_make_unique - io_points_processor -) - -google_library(io_min_max_range_filtering_points_processor - SRCS - min_max_range_filtering_points_processor.cc - HDRS - min_max_range_filtering_points_processor.h - DEPENDS - common_lua_parameter_dictionary - common_make_unique - io_points_batch - io_points_processor -) - -google_library(io_null_points_processor - HDRS - null_points_processor.h - DEPENDS - io_points_processor -) - -google_library(io_outlier_removing_points_processor - USES_GLOG - SRCS - outlier_removing_points_processor.cc - HDRS - outlier_removing_points_processor.h - DEPENDS - common_lua_parameter_dictionary - common_make_unique - io_points_processor - mapping_3d_hybrid_grid -) - -google_library(io_pcd_writing_points_processor - USES_GLOG - SRCS - pcd_writing_points_processor.cc - HDRS - pcd_writing_points_processor.h - DEPENDS - common_lua_parameter_dictionary - common_make_unique - io_points_batch - io_points_processor -) - -google_library(io_ply_writing_points_processor - USES_GLOG - SRCS - ply_writing_points_processor.cc - HDRS - ply_writing_points_processor.h - DEPENDS - common_lua_parameter_dictionary - common_make_unique - io_points_batch - io_points_processor -) - -google_library(io_points_batch - USES_EIGEN - SRCS - points_batch.cc - HDRS - points_batch.h - DEPENDS - common_time -) - -google_library(io_points_processor - HDRS - points_processor.h - DEPENDS - io_points_batch -) - -google_library(io_points_processor_pipeline_builder - SRCS - points_processor_pipeline_builder.cc - HDRS - points_processor_pipeline_builder.h - DEPENDS - common_lua_parameter_dictionary - common_make_unique - io_counting_points_processor - io_fixed_ratio_sampling_points_processor - io_min_max_range_filtering_points_processor - io_null_points_processor - io_outlier_removing_points_processor - io_pcd_writing_points_processor - io_ply_writing_points_processor - io_points_processor - io_xray_points_processor - io_xyz_writing_points_processor - mapping_proto_trajectory -) - -google_library(io_xray_points_processor - USES_CAIRO - USES_EIGEN - SRCS - xray_points_processor.cc - HDRS - xray_points_processor.h - DEPENDS - common_lua_parameter_dictionary - common_make_unique - common_math - io_cairo_types - io_points_processor - mapping_3d_hybrid_grid - mapping_detect_floors - mapping_proto_trajectory - transform_rigid_transform -) - -google_library(io_xyz_writing_points_processor - USES_GLOG - SRCS - xyz_writing_points_processor.cc - HDRS - xyz_writing_points_processor.h - DEPENDS - common_lua_parameter_dictionary - common_make_unique - io_points_processor -) diff --git a/cartographer/kalman_filter/CMakeLists.txt b/cartographer/kalman_filter/CMakeLists.txt index 546b8fd..735f405 100644 --- a/cartographer/kalman_filter/CMakeLists.txt +++ b/cartographer/kalman_filter/CMakeLists.txt @@ -12,67 +12,17 @@ # See the License for the specific language governing permissions and # limitations under the License. -add_subdirectory("proto") - -google_library(kalman_filter_gaussian_distribution - USES_EIGEN - HDRS - gaussian_distribution.h -) - -google_library(kalman_filter_pose_tracker - USES_EIGEN - USES_GLOG - SRCS - pose_tracker.cc - HDRS - pose_tracker.h - DEPENDS - common_lua_parameter_dictionary - common_math - common_port - common_time - kalman_filter_gaussian_distribution - kalman_filter_proto_pose_tracker_options - kalman_filter_unscented_kalman_filter - mapping_imu_tracker - mapping_odometry_state_tracker - sensor_proto_sensor - transform_transform -) - -google_library(kalman_filter_unscented_kalman_filter - USES_EIGEN - USES_GLOG - HDRS - unscented_kalman_filter.h - DEPENDS - kalman_filter_gaussian_distribution -) - google_test(kalman_filter_gaussian_distribution_test SRCS gaussian_distribution_test.cc - DEPENDS - kalman_filter_gaussian_distribution ) google_test(kalman_filter_pose_tracker_test SRCS pose_tracker_test.cc - DEPENDS - common_lua_parameter_dictionary - common_lua_parameter_dictionary_test_helpers - common_make_unique - kalman_filter_pose_tracker - transform_rigid_transform - transform_rigid_transform_test_helpers ) google_test(kalman_filter_unscented_kalman_filter_test SRCS unscented_kalman_filter_test.cc - DEPENDS - kalman_filter_gaussian_distribution - kalman_filter_unscented_kalman_filter ) diff --git a/cartographer/kalman_filter/proto/CMakeLists.txt b/cartographer/kalman_filter/proto/CMakeLists.txt deleted file mode 100644 index 70f7f68..0000000 --- a/cartographer/kalman_filter/proto/CMakeLists.txt +++ /dev/null @@ -1,18 +0,0 @@ -# Copyright 2016 The Cartographer Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -google_proto_library(kalman_filter_proto_pose_tracker_options - SRCS - pose_tracker_options.proto -) diff --git a/cartographer/mapping/CMakeLists.txt b/cartographer/mapping/CMakeLists.txt index 8884a5d..f4986f4 100644 --- a/cartographer/mapping/CMakeLists.txt +++ b/cartographer/mapping/CMakeLists.txt @@ -12,219 +12,22 @@ # See the License for the specific language governing permissions and # limitations under the License. -add_subdirectory("proto") -add_subdirectory("sparse_pose_graph") - -google_library(mapping_collated_trajectory_builder - USES_GLOG - SRCS - collated_trajectory_builder.cc - HDRS - collated_trajectory_builder.h - DEPENDS - common_port - common_rate_timer - common_time - mapping_global_trajectory_builder_interface - mapping_submaps - mapping_trajectory_builder - sensor_collator - sensor_data -) - -google_library(mapping_detect_floors - USES_EIGEN - USES_GLOG - SRCS - detect_floors.cc - HDRS - detect_floors.h - DEPENDS - common_interval - common_time - mapping_proto_trajectory - transform_transform -) - -google_library(mapping_global_trajectory_builder_interface - HDRS - global_trajectory_builder_interface.h - DEPENDS - common_time - mapping_submaps - mapping_trajectory_builder - sensor_laser - sensor_point_cloud -) - -google_library(mapping_imu_tracker - USES_EIGEN - USES_GLOG - SRCS - imu_tracker.cc - HDRS - imu_tracker.h - DEPENDS - common_math - common_time - transform_transform -) - -google_library(mapping_map_builder - USES_EIGEN - USES_GLOG - SRCS - map_builder.cc - HDRS - map_builder.h - DEPENDS - common_lua_parameter_dictionary - common_make_unique - common_port - common_thread_pool - mapping_2d_global_trajectory_builder - mapping_2d_sparse_pose_graph - mapping_3d_global_trajectory_builder - mapping_3d_local_trajectory_builder_options - mapping_3d_sparse_pose_graph - mapping_collated_trajectory_builder - mapping_proto_map_builder_options - mapping_proto_submap_visualization - mapping_sparse_pose_graph - mapping_submaps - mapping_trajectory_builder - mapping_trajectory_node - sensor_collator - sensor_laser - sensor_voxel_filter - transform_rigid_transform - transform_transform -) - -google_library(mapping_odometry_state_tracker - SRCS - odometry_state_tracker.cc - HDRS - odometry_state_tracker.h - DEPENDS - common_time - transform_rigid_transform -) - -google_library(mapping_probability_values - USES_GLOG - SRCS - probability_values.cc - HDRS - probability_values.h - DEPENDS - common_math - common_port -) - -google_library(mapping_sparse_pose_graph - USES_GLOG - SRCS - sparse_pose_graph.cc - HDRS - sparse_pose_graph.h - DEPENDS - common_lua_parameter_dictionary - kalman_filter_pose_tracker - mapping_proto_scan_matching_progress - mapping_proto_sparse_pose_graph - mapping_proto_sparse_pose_graph_options - mapping_sparse_pose_graph_constraint_builder - mapping_sparse_pose_graph_optimization_problem_options - mapping_submaps - mapping_trajectory_node - transform_rigid_transform - transform_transform -) - -google_library(mapping_submaps - USES_EIGEN - USES_GLOG - SRCS - submaps.cc - HDRS - submaps.h - DEPENDS - common_math - common_port - mapping_2d_probability_grid - mapping_probability_values - mapping_proto_submap_visualization - mapping_trajectory_node - transform_transform -) - -google_library(mapping_trajectory_builder - HDRS - trajectory_builder.h - DEPENDS - common_make_unique - common_port - common_time - mapping_submaps - sensor_data - sensor_laser - sensor_point_cloud -) - -google_library(mapping_trajectory_connectivity - USES_GLOG - SRCS - trajectory_connectivity.cc - HDRS - trajectory_connectivity.h - DEPENDS - common_mutex - mapping_proto_trajectory_connectivity - mapping_submaps -) - -google_library(mapping_trajectory_node - USES_EIGEN - SRCS - trajectory_node.cc - HDRS - trajectory_node.h - DEPENDS - common_time - mapping_proto_trajectory - sensor_laser - transform_rigid_transform - transform_transform -) - google_test(mapping_probability_values_test SRCS probability_values_test.cc - DEPENDS - mapping_probability_values ) google_test(mapping_sparse_pose_graph_test - USES_GLOG SRCS sparse_pose_graph_test.cc - DEPENDS - mapping_sparse_pose_graph ) google_test(mapping_submaps_test SRCS submaps_test.cc - DEPENDS - mapping_submaps ) google_test(mapping_trajectory_connectivity_test SRCS trajectory_connectivity_test.cc - DEPENDS - common_lua_parameter_dictionary_test_helpers - mapping_2d_submaps - mapping_trajectory_connectivity ) diff --git a/cartographer/mapping/proto/CMakeLists.txt b/cartographer/mapping/proto/CMakeLists.txt deleted file mode 100644 index aa538a9..0000000 --- a/cartographer/mapping/proto/CMakeLists.txt +++ /dev/null @@ -1,62 +0,0 @@ -# Copyright 2016 The Cartographer Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -google_proto_library(mapping_proto_map_builder_options - SRCS - map_builder_options.proto - DEPENDS - mapping_2d_proto_local_trajectory_builder_options - mapping_3d_proto_local_trajectory_builder_options - mapping_proto_sparse_pose_graph_options -) - -google_proto_library(mapping_proto_scan_matching_progress - SRCS - scan_matching_progress.proto -) - -google_proto_library(mapping_proto_sparse_pose_graph - SRCS - sparse_pose_graph.proto - DEPENDS - mapping_proto_trajectory - transform_proto_transform -) - -google_proto_library(mapping_proto_sparse_pose_graph_options - SRCS - sparse_pose_graph_options.proto - DEPENDS - mapping_sparse_pose_graph_proto_constraint_builder_options - mapping_sparse_pose_graph_proto_optimization_problem_options -) - -google_proto_library(mapping_proto_submap_visualization - SRCS - submap_visualization.proto - DEPENDS - transform_proto_transform -) - -google_proto_library(mapping_proto_trajectory - SRCS - trajectory.proto - DEPENDS - transform_proto_transform -) - -google_proto_library(mapping_proto_trajectory_connectivity - SRCS - trajectory_connectivity.proto -) diff --git a/cartographer/mapping/sparse_pose_graph/CMakeLists.txt b/cartographer/mapping/sparse_pose_graph/CMakeLists.txt deleted file mode 100644 index 0b9e21d..0000000 --- a/cartographer/mapping/sparse_pose_graph/CMakeLists.txt +++ /dev/null @@ -1,41 +0,0 @@ -# Copyright 2016 The Cartographer Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -add_subdirectory("proto") - -google_library(mapping_sparse_pose_graph_constraint_builder - SRCS - constraint_builder.cc - HDRS - constraint_builder.h - DEPENDS - common_lua_parameter_dictionary - mapping_2d_scan_matching_ceres_scan_matcher - mapping_2d_scan_matching_fast_correlative_scan_matcher - mapping_3d_scan_matching_ceres_scan_matcher - mapping_3d_scan_matching_fast_correlative_scan_matcher - mapping_sparse_pose_graph_proto_constraint_builder_options - sensor_voxel_filter -) - -google_library(mapping_sparse_pose_graph_optimization_problem_options - SRCS - optimization_problem_options.cc - HDRS - optimization_problem_options.h - DEPENDS - common_ceres_solver_options - common_lua_parameter_dictionary - mapping_sparse_pose_graph_proto_optimization_problem_options -) diff --git a/cartographer/mapping/sparse_pose_graph/proto/CMakeLists.txt b/cartographer/mapping/sparse_pose_graph/proto/CMakeLists.txt deleted file mode 100644 index 8adab1c..0000000 --- a/cartographer/mapping/sparse_pose_graph/proto/CMakeLists.txt +++ /dev/null @@ -1,31 +0,0 @@ -# Copyright 2016 The Cartographer Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -google_proto_library(mapping_sparse_pose_graph_proto_constraint_builder_options - SRCS - constraint_builder_options.proto - DEPENDS - mapping_2d_scan_matching_proto_ceres_scan_matcher_options - mapping_2d_scan_matching_proto_fast_correlative_scan_matcher_options - mapping_3d_scan_matching_proto_ceres_scan_matcher_options - mapping_3d_scan_matching_proto_fast_correlative_scan_matcher_options - sensor_proto_adaptive_voxel_filter_options -) - -google_proto_library(mapping_sparse_pose_graph_proto_optimization_problem_options - SRCS - optimization_problem_options.proto - DEPENDS - common_proto_ceres_solver_options -) diff --git a/cartographer/mapping_2d/CMakeLists.txt b/cartographer/mapping_2d/CMakeLists.txt index 2e74a1b..f1254f3 100644 --- a/cartographer/mapping_2d/CMakeLists.txt +++ b/cartographer/mapping_2d/CMakeLists.txt @@ -12,219 +12,34 @@ # See the License for the specific language governing permissions and # limitations under the License. -add_subdirectory("proto") add_subdirectory("scan_matching") -add_subdirectory("sparse_pose_graph") - -google_library(mapping_2d_global_trajectory_builder - SRCS - global_trajectory_builder.cc - HDRS - global_trajectory_builder.h - DEPENDS - mapping_2d_local_trajectory_builder - mapping_2d_sparse_pose_graph - mapping_global_trajectory_builder_interface -) - -google_library(mapping_2d_laser_fan_inserter - USES_EIGEN - USES_GLOG - SRCS - laser_fan_inserter.cc - HDRS - laser_fan_inserter.h - DEPENDS - common_lua_parameter_dictionary - common_port - mapping_2d_probability_grid - mapping_2d_proto_laser_fan_inserter_options - mapping_2d_ray_casting - mapping_2d_xy_index - sensor_laser - sensor_point_cloud -) - -google_library(mapping_2d_local_trajectory_builder - SRCS - local_trajectory_builder.cc - HDRS - local_trajectory_builder.h - DEPENDS - common_lua_parameter_dictionary - common_make_unique - common_time - mapping_2d_proto_local_trajectory_builder_options - mapping_2d_scan_matching_ceres_scan_matcher - mapping_2d_scan_matching_real_time_correlative_scan_matcher - mapping_2d_submaps - mapping_3d_motion_filter - mapping_global_trajectory_builder_interface - mapping_imu_tracker - mapping_odometry_state_tracker - sensor_configuration - sensor_laser - sensor_voxel_filter - transform_rigid_transform -) - -google_library(mapping_2d_map_limits - USES_EIGEN - USES_GLOG - HDRS - map_limits.h - DEPENDS - common_math - mapping_2d_xy_index - mapping_trajectory_node - sensor_laser - sensor_point_cloud - transform_rigid_transform - transform_transform -) - -google_library(mapping_2d_probability_grid - USES_GLOG - HDRS - probability_grid.h - DEPENDS - common_math - common_port - mapping_2d_map_limits - mapping_2d_xy_index - mapping_probability_values -) - -google_library(mapping_2d_ray_casting - SRCS - ray_casting.cc - HDRS - ray_casting.h - DEPENDS - mapping_2d_map_limits - mapping_2d_xy_index - sensor_laser - sensor_point_cloud - transform_transform -) - -google_library(mapping_2d_sparse_pose_graph - USES_EIGEN - USES_GLOG - SRCS - sparse_pose_graph.cc - HDRS - sparse_pose_graph.h - DEPENDS - common_fixed_ratio_sampler - common_make_unique - common_math - common_mutex - common_thread_pool - common_time - kalman_filter_pose_tracker - mapping_2d_sparse_pose_graph_constraint_builder - mapping_2d_sparse_pose_graph_optimization_problem - mapping_2d_submaps - mapping_proto_scan_matching_progress - mapping_sparse_pose_graph - mapping_sparse_pose_graph_proto_constraint_builder_options - mapping_trajectory_connectivity - sensor_compressed_point_cloud - sensor_point_cloud - sensor_voxel_filter - transform_rigid_transform - transform_transform -) - -google_library(mapping_2d_submaps - USES_EIGEN - USES_GLOG - USES_WEBP - SRCS - submaps.cc - HDRS - submaps.h - DEPENDS - common_lua_parameter_dictionary - common_make_unique - common_port - mapping_2d_laser_fan_inserter - mapping_2d_map_limits - mapping_2d_probability_grid - mapping_2d_proto_submaps_options - mapping_proto_submap_visualization - mapping_submaps - mapping_trajectory_node - sensor_laser - transform_rigid_transform -) - -google_library(mapping_2d_xy_index - USES_EIGEN - USES_GLOG - HDRS - xy_index.h - DEPENDS - common_math - common_port -) google_test(mapping_2d_laser_fan_inserter_test SRCS laser_fan_inserter_test.cc - DEPENDS - common_lua_parameter_dictionary - common_lua_parameter_dictionary_test_helpers - common_make_unique - mapping_2d_laser_fan_inserter - mapping_2d_probability_grid ) google_test(mapping_2d_map_limits_test SRCS map_limits_test.cc - DEPENDS - mapping_2d_map_limits ) google_test(mapping_2d_probability_grid_test SRCS probability_grid_test.cc - DEPENDS - mapping_2d_probability_grid ) google_test(mapping_2d_sparse_pose_graph_test SRCS sparse_pose_graph_test.cc - DEPENDS - common_lua_parameter_dictionary_test_helpers - common_make_unique - common_thread_pool - common_time - mapping_2d_laser_fan_inserter - mapping_2d_sparse_pose_graph - mapping_2d_submaps - transform_rigid_transform - transform_rigid_transform_test_helpers - transform_transform ) google_test(mapping_2d_submaps_test SRCS submaps_test.cc - DEPENDS - common_lua_parameter_dictionary - common_lua_parameter_dictionary_test_helpers - common_port - mapping_2d_submaps - transform_transform ) google_test(mapping_2d_xy_index_test SRCS xy_index_test.cc - DEPENDS - mapping_2d_xy_index ) diff --git a/cartographer/mapping_2d/proto/CMakeLists.txt b/cartographer/mapping_2d/proto/CMakeLists.txt deleted file mode 100644 index e5b23f6..0000000 --- a/cartographer/mapping_2d/proto/CMakeLists.txt +++ /dev/null @@ -1,36 +0,0 @@ -# Copyright 2016 The Cartographer Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -google_proto_library(mapping_2d_proto_laser_fan_inserter_options - SRCS - laser_fan_inserter_options.proto -) - -google_proto_library(mapping_2d_proto_local_trajectory_builder_options - SRCS - local_trajectory_builder_options.proto - DEPENDS - mapping_2d_proto_submaps_options - mapping_2d_scan_matching_proto_ceres_scan_matcher_options - mapping_2d_scan_matching_proto_real_time_correlative_scan_matcher_options - mapping_3d_proto_motion_filter_options - sensor_proto_adaptive_voxel_filter_options -) - -google_proto_library(mapping_2d_proto_submaps_options - SRCS - submaps_options.proto - DEPENDS - mapping_2d_proto_laser_fan_inserter_options -) diff --git a/cartographer/mapping_2d/scan_matching/CMakeLists.txt b/cartographer/mapping_2d/scan_matching/CMakeLists.txt index a8ecc87..f993ad5 100644 --- a/cartographer/mapping_2d/scan_matching/CMakeLists.txt +++ b/cartographer/mapping_2d/scan_matching/CMakeLists.txt @@ -12,159 +12,22 @@ # See the License for the specific language governing permissions and # limitations under the License. -add_subdirectory("proto") - -google_library(mapping_2d_scan_matching_ceres_scan_matcher - USES_CERES - USES_EIGEN - USES_GLOG - SRCS - ceres_scan_matcher.cc - HDRS - ceres_scan_matcher.h - DEPENDS - common_ceres_solver_options - common_lua_parameter_dictionary - kalman_filter_pose_tracker - mapping_2d_probability_grid - mapping_2d_scan_matching_occupied_space_cost_functor - mapping_2d_scan_matching_proto_ceres_scan_matcher_options - mapping_2d_scan_matching_rotation_delta_cost_functor - mapping_2d_scan_matching_translation_delta_cost_functor - sensor_point_cloud - transform_transform -) - -google_library(mapping_2d_scan_matching_correlative_scan_matcher - USES_EIGEN - SRCS - correlative_scan_matcher.cc - HDRS - correlative_scan_matcher.h - DEPENDS - common_lua_parameter_dictionary - common_math - mapping_2d_map_limits - mapping_2d_xy_index - sensor_point_cloud -) - -google_library(mapping_2d_scan_matching_fast_correlative_scan_matcher - USES_EIGEN - USES_GLOG - SRCS - fast_correlative_scan_matcher.cc - HDRS - fast_correlative_scan_matcher.h - DEPENDS - common_math - common_port - mapping_2d_probability_grid - mapping_2d_scan_matching_correlative_scan_matcher - mapping_2d_scan_matching_proto_fast_correlative_scan_matcher_options - sensor_point_cloud - transform_transform -) - -google_library(mapping_2d_scan_matching_fast_global_localizer - USES_EIGEN - USES_GLOG - SRCS - fast_global_localizer.cc - HDRS - fast_global_localizer.h - DEPENDS - mapping_2d_scan_matching_fast_correlative_scan_matcher - sensor_voxel_filter -) - -google_library(mapping_2d_scan_matching_occupied_space_cost_functor - USES_CERES - USES_EIGEN - HDRS - occupied_space_cost_functor.h - DEPENDS - mapping_2d_probability_grid - sensor_point_cloud -) - -google_library(mapping_2d_scan_matching_real_time_correlative_scan_matcher - USES_EIGEN - USES_GLOG - SRCS - real_time_correlative_scan_matcher.cc - HDRS - real_time_correlative_scan_matcher.h - DEPENDS - common_lua_parameter_dictionary - common_math - mapping_2d_probability_grid - mapping_2d_scan_matching_correlative_scan_matcher - mapping_2d_scan_matching_proto_real_time_correlative_scan_matcher_options - sensor_point_cloud - transform_transform -) - -google_library(mapping_2d_scan_matching_rotation_delta_cost_functor - USES_EIGEN - HDRS - rotation_delta_cost_functor.h - DEPENDS - transform_transform -) - -google_library(mapping_2d_scan_matching_translation_delta_cost_functor - USES_EIGEN - HDRS - translation_delta_cost_functor.h - DEPENDS - transform_rigid_transform -) - google_test(mapping_2d_scan_matching_ceres_scan_matcher_test SRCS ceres_scan_matcher_test.cc - DEPENDS - common_lua_parameter_dictionary - common_lua_parameter_dictionary_test_helpers - common_make_unique - mapping_2d_probability_grid - mapping_2d_scan_matching_ceres_scan_matcher - sensor_point_cloud - transform_rigid_transform_test_helpers ) google_test(mapping_2d_scan_matching_correlative_scan_matcher_test SRCS correlative_scan_matcher_test.cc - DEPENDS - mapping_2d_scan_matching_correlative_scan_matcher - sensor_point_cloud ) google_test(mapping_2d_scan_matching_fast_correlative_scan_matcher_test SRCS fast_correlative_scan_matcher_test.cc - DEPENDS - common_lua_parameter_dictionary_test_helpers - mapping_2d_laser_fan_inserter - mapping_2d_probability_grid - mapping_2d_scan_matching_fast_correlative_scan_matcher - transform_rigid_transform_test_helpers - transform_transform ) google_test(mapping_2d_scan_matching_real_time_correlative_scan_matcher_test - USES_EIGEN SRCS real_time_correlative_scan_matcher_test.cc - DEPENDS - common_lua_parameter_dictionary_test_helpers - common_make_unique - kalman_filter_pose_tracker - mapping_2d_laser_fan_inserter - mapping_2d_probability_grid - mapping_2d_scan_matching_real_time_correlative_scan_matcher - sensor_point_cloud - transform_transform ) diff --git a/cartographer/mapping_2d/scan_matching/proto/CMakeLists.txt b/cartographer/mapping_2d/scan_matching/proto/CMakeLists.txt deleted file mode 100644 index b0eb4df..0000000 --- a/cartographer/mapping_2d/scan_matching/proto/CMakeLists.txt +++ /dev/null @@ -1,30 +0,0 @@ -# Copyright 2016 The Cartographer Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -google_proto_library(mapping_2d_scan_matching_proto_ceres_scan_matcher_options - SRCS - ceres_scan_matcher_options.proto - DEPENDS - common_proto_ceres_solver_options -) - -google_proto_library(mapping_2d_scan_matching_proto_fast_correlative_scan_matcher_options - SRCS - fast_correlative_scan_matcher_options.proto -) - -google_proto_library(mapping_2d_scan_matching_proto_real_time_correlative_scan_matcher_options - SRCS - real_time_correlative_scan_matcher_options.proto -) diff --git a/cartographer/mapping_2d/sparse_pose_graph/CMakeLists.txt b/cartographer/mapping_2d/sparse_pose_graph/CMakeLists.txt deleted file mode 100644 index d7a56ce..0000000 --- a/cartographer/mapping_2d/sparse_pose_graph/CMakeLists.txt +++ /dev/null @@ -1,78 +0,0 @@ -# Copyright 2016 The Cartographer Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -google_library(mapping_2d_sparse_pose_graph_constraint_builder - USES_EIGEN - USES_GLOG - SRCS - constraint_builder.cc - HDRS - constraint_builder.h - DEPENDS - common_fixed_ratio_sampler - common_histogram - common_make_unique - common_math - common_mutex - common_thread_pool - kalman_filter_pose_tracker - mapping_2d_scan_matching_ceres_scan_matcher - mapping_2d_scan_matching_fast_correlative_scan_matcher - mapping_2d_scan_matching_proto_ceres_scan_matcher_options - mapping_2d_scan_matching_proto_fast_correlative_scan_matcher_options - mapping_2d_submaps - mapping_3d_scan_matching_ceres_scan_matcher - mapping_3d_scan_matching_fast_correlative_scan_matcher - mapping_sparse_pose_graph - mapping_sparse_pose_graph_proto_constraint_builder_options - mapping_trajectory_connectivity - sensor_point_cloud - sensor_voxel_filter - transform_transform -) - -google_library(mapping_2d_sparse_pose_graph_optimization_problem - USES_CERES - USES_EIGEN - USES_GLOG - SRCS - optimization_problem.cc - HDRS - optimization_problem.h - DEPENDS - common_ceres_solver_options - common_histogram - common_math - common_port - common_time - mapping_2d_sparse_pose_graph_spa_cost_function - mapping_2d_submaps - mapping_3d_imu_integration - mapping_sparse_pose_graph - mapping_sparse_pose_graph_proto_optimization_problem_options - transform_transform -) - -google_library(mapping_2d_sparse_pose_graph_spa_cost_function - USES_CERES - USES_EIGEN - HDRS - spa_cost_function.h - DEPENDS - common_math - kalman_filter_pose_tracker - mapping_sparse_pose_graph - transform_rigid_transform - transform_transform -) diff --git a/cartographer/mapping_3d/CMakeLists.txt b/cartographer/mapping_3d/CMakeLists.txt index 257a608..84c501a 100644 --- a/cartographer/mapping_3d/CMakeLists.txt +++ b/cartographer/mapping_3d/CMakeLists.txt @@ -12,308 +12,25 @@ # See the License for the specific language governing permissions and # limitations under the License. -add_subdirectory("proto") add_subdirectory("scan_matching") add_subdirectory("sparse_pose_graph") -google_library(mapping_3d_acceleration_cost_function - USES_EIGEN - HDRS - acceleration_cost_function.h -) - -google_library(mapping_3d_ceres_pose - USES_CERES - USES_EIGEN - SRCS - ceres_pose.cc - HDRS - ceres_pose.h - DEPENDS - transform_rigid_transform -) - -google_library(mapping_3d_global_trajectory_builder - SRCS - global_trajectory_builder.cc - HDRS - global_trajectory_builder.h - DEPENDS - mapping_3d_local_trajectory_builder - mapping_3d_proto_local_trajectory_builder_options - mapping_3d_sparse_pose_graph - mapping_global_trajectory_builder_interface -) - -google_library(mapping_3d_hybrid_grid - USES_EIGEN - USES_GLOG - HDRS - hybrid_grid.h - DEPENDS - common_make_unique - common_math - common_port - mapping_probability_values -) - -google_library(mapping_3d_imu_integration - USES_EIGEN - USES_GLOG - SRCS - imu_integration.cc - HDRS - imu_integration.h - DEPENDS - common_time - transform_transform -) - -google_library(mapping_3d_kalman_local_trajectory_builder - USES_GLOG - SRCS - kalman_local_trajectory_builder.cc - HDRS - kalman_local_trajectory_builder.h - DEPENDS - common_make_unique - common_time - kalman_filter_pose_tracker - kalman_filter_proto_pose_tracker_options - mapping_2d_scan_matching_proto_real_time_correlative_scan_matcher_options - mapping_3d_local_trajectory_builder_interface - mapping_3d_motion_filter - mapping_3d_proto_local_trajectory_builder_options - mapping_3d_proto_submaps_options - mapping_3d_scan_matching_ceres_scan_matcher - mapping_3d_scan_matching_proto_ceres_scan_matcher_options - mapping_3d_scan_matching_real_time_correlative_scan_matcher - mapping_3d_submaps - mapping_global_trajectory_builder_interface - sensor_laser - sensor_voxel_filter -) - -google_library(mapping_3d_kalman_local_trajectory_builder_options - SRCS - kalman_local_trajectory_builder_options.cc - HDRS - kalman_local_trajectory_builder_options.h - DEPENDS - common_lua_parameter_dictionary - kalman_filter_pose_tracker - mapping_2d_scan_matching_real_time_correlative_scan_matcher - mapping_3d_proto_kalman_local_trajectory_builder_options -) - -google_library(mapping_3d_laser_fan_inserter - USES_EIGEN - USES_GLOG - SRCS - laser_fan_inserter.cc - HDRS - laser_fan_inserter.h - DEPENDS - mapping_3d_hybrid_grid - mapping_3d_proto_laser_fan_inserter_options - mapping_probability_values - sensor_laser - sensor_point_cloud -) - -google_library(mapping_3d_local_trajectory_builder - SRCS - local_trajectory_builder.cc - HDRS - local_trajectory_builder.h - DEPENDS - common_make_unique - mapping_3d_kalman_local_trajectory_builder - mapping_3d_local_trajectory_builder_interface - mapping_3d_optimizing_local_trajectory_builder - mapping_3d_proto_local_trajectory_builder_options -) - -google_library(mapping_3d_local_trajectory_builder_interface - HDRS - local_trajectory_builder_interface.h - DEPENDS - common_time - mapping_3d_submaps - mapping_global_trajectory_builder_interface - sensor_laser - transform_rigid_transform -) - -google_library(mapping_3d_local_trajectory_builder_options - USES_GLOG - SRCS - local_trajectory_builder_options.cc - HDRS - local_trajectory_builder_options.h - DEPENDS - common_lua_parameter_dictionary - mapping_3d_kalman_local_trajectory_builder_options - mapping_3d_motion_filter - mapping_3d_optimizing_local_trajectory_builder_options - mapping_3d_proto_local_trajectory_builder_options - mapping_3d_scan_matching_ceres_scan_matcher - mapping_3d_submaps - sensor_voxel_filter -) - -google_library(mapping_3d_motion_filter - USES_GLOG - SRCS - motion_filter.cc - HDRS - motion_filter.h - DEPENDS - common_lua_parameter_dictionary - common_time - mapping_3d_proto_motion_filter_options - transform_rigid_transform - transform_transform -) - -google_library(mapping_3d_optimizing_local_trajectory_builder - USES_GLOG - SRCS - optimizing_local_trajectory_builder.cc - HDRS - optimizing_local_trajectory_builder.h - DEPENDS - common_ceres_solver_options - common_make_unique - common_time - kalman_filter_pose_tracker - mapping_3d_imu_integration - mapping_3d_local_trajectory_builder_interface - mapping_3d_motion_filter - mapping_3d_proto_local_trajectory_builder_options - mapping_3d_proto_optimizing_local_trajectory_builder_options - mapping_3d_rotation_cost_function - mapping_3d_scan_matching_occupied_space_cost_functor - mapping_3d_scan_matching_proto_ceres_scan_matcher_options - mapping_3d_scan_matching_translation_delta_cost_functor - mapping_3d_submaps - mapping_3d_translation_cost_function - mapping_global_trajectory_builder_interface - sensor_laser - sensor_voxel_filter - transform_rigid_transform - transform_transform - transform_transform_interpolation_buffer -) - -google_library(mapping_3d_optimizing_local_trajectory_builder_options - SRCS - optimizing_local_trajectory_builder_options.cc - HDRS - optimizing_local_trajectory_builder_options.h - DEPENDS - common_lua_parameter_dictionary - mapping_3d_proto_optimizing_local_trajectory_builder_options -) - -google_library(mapping_3d_rotation_cost_function - USES_EIGEN - HDRS - rotation_cost_function.h -) - -google_library(mapping_3d_sparse_pose_graph - USES_EIGEN - USES_GLOG - SRCS - sparse_pose_graph.cc - HDRS - sparse_pose_graph.h - DEPENDS - common_fixed_ratio_sampler - common_make_unique - common_math - common_mutex - common_thread_pool - common_time - kalman_filter_pose_tracker - mapping_3d_sparse_pose_graph_constraint_builder - mapping_3d_sparse_pose_graph_optimization_problem - mapping_3d_submaps - mapping_proto_scan_matching_progress - mapping_sparse_pose_graph - mapping_sparse_pose_graph_proto_constraint_builder_options - mapping_trajectory_connectivity - sensor_compressed_point_cloud - sensor_point_cloud - sensor_voxel_filter - transform_rigid_transform - transform_transform -) - -google_library(mapping_3d_submaps - USES_EIGEN - USES_GLOG - SRCS - submaps.cc - HDRS - submaps.h - DEPENDS - common_math - common_port - mapping_2d_laser_fan_inserter - mapping_2d_probability_grid - mapping_3d_hybrid_grid - mapping_3d_laser_fan_inserter - mapping_3d_proto_submaps_options - mapping_proto_submap_visualization - mapping_submaps - sensor_laser - transform_transform -) - -google_library(mapping_3d_translation_cost_function - USES_EIGEN - HDRS - translation_cost_function.h -) - google_test(mapping_3d_hybrid_grid_test SRCS hybrid_grid_test.cc - DEPENDS - mapping_3d_hybrid_grid ) google_test(mapping_3d_kalman_local_trajectory_builder_test - USES_EIGEN - USES_GLOG SRCS kalman_local_trajectory_builder_test.cc - DEPENDS - common_lua_parameter_dictionary_test_helpers - common_time - mapping_3d_hybrid_grid - mapping_3d_kalman_local_trajectory_builder - mapping_3d_local_trajectory_builder_options - sensor_laser - transform_rigid_transform - transform_rigid_transform_test_helpers - transform_transform ) google_test(mapping_3d_laser_fan_inserter_test SRCS laser_fan_inserter_test.cc - DEPENDS - common_lua_parameter_dictionary_test_helpers - mapping_3d_laser_fan_inserter ) google_test(mapping_3d_motion_filter_test SRCS motion_filter_test.cc - DEPENDS - common_lua_parameter_dictionary_test_helpers - mapping_3d_motion_filter ) diff --git a/cartographer/mapping_3d/proto/CMakeLists.txt b/cartographer/mapping_3d/proto/CMakeLists.txt deleted file mode 100644 index f16928c..0000000 --- a/cartographer/mapping_3d/proto/CMakeLists.txt +++ /dev/null @@ -1,55 +0,0 @@ -# Copyright 2016 The Cartographer Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -google_proto_library(mapping_3d_proto_kalman_local_trajectory_builder_options - SRCS - kalman_local_trajectory_builder_options.proto - DEPENDS - kalman_filter_proto_pose_tracker_options - mapping_2d_scan_matching_proto_real_time_correlative_scan_matcher_options -) - -google_proto_library(mapping_3d_proto_laser_fan_inserter_options - SRCS - laser_fan_inserter_options.proto -) - -google_proto_library(mapping_3d_proto_local_trajectory_builder_options - SRCS - local_trajectory_builder_options.proto - DEPENDS - mapping_3d_proto_kalman_local_trajectory_builder_options - mapping_3d_proto_motion_filter_options - mapping_3d_proto_optimizing_local_trajectory_builder_options - mapping_3d_proto_submaps_options - mapping_3d_scan_matching_proto_ceres_scan_matcher_options - sensor_proto_adaptive_voxel_filter_options -) - -google_proto_library(mapping_3d_proto_motion_filter_options - SRCS - motion_filter_options.proto -) - -google_proto_library(mapping_3d_proto_optimizing_local_trajectory_builder_options - SRCS - optimizing_local_trajectory_builder_options.proto -) - -google_proto_library(mapping_3d_proto_submaps_options - SRCS - submaps_options.proto - DEPENDS - mapping_3d_proto_laser_fan_inserter_options -) diff --git a/cartographer/mapping_3d/scan_matching/CMakeLists.txt b/cartographer/mapping_3d/scan_matching/CMakeLists.txt index 1449c39..4774e08 100644 --- a/cartographer/mapping_3d/scan_matching/CMakeLists.txt +++ b/cartographer/mapping_3d/scan_matching/CMakeLists.txt @@ -12,182 +12,27 @@ # See the License for the specific language governing permissions and # limitations under the License. -add_subdirectory("proto") - -google_library(mapping_3d_scan_matching_ceres_scan_matcher - USES_CERES - USES_EIGEN - USES_GLOG - SRCS - ceres_scan_matcher.cc - HDRS - ceres_scan_matcher.h - DEPENDS - common_ceres_solver_options - common_lua_parameter_dictionary - common_make_unique - kalman_filter_pose_tracker - mapping_3d_ceres_pose - mapping_3d_hybrid_grid - mapping_3d_scan_matching_occupied_space_cost_functor - mapping_3d_scan_matching_proto_ceres_scan_matcher_options - mapping_3d_scan_matching_rotation_delta_cost_functor - mapping_3d_scan_matching_translation_delta_cost_functor - sensor_point_cloud - transform_rigid_transform - transform_transform -) - -google_library(mapping_3d_scan_matching_fast_correlative_scan_matcher - USES_EIGEN - USES_GLOG - SRCS - fast_correlative_scan_matcher.cc - HDRS - fast_correlative_scan_matcher.h - DEPENDS - common_make_unique - common_math - common_port - mapping_2d_scan_matching_fast_correlative_scan_matcher - mapping_3d_hybrid_grid - mapping_3d_scan_matching_precomputation_grid - mapping_3d_scan_matching_proto_fast_correlative_scan_matcher_options - mapping_3d_scan_matching_rotational_scan_matcher - mapping_trajectory_node - sensor_point_cloud - transform_transform -) - -google_library(mapping_3d_scan_matching_interpolated_grid - HDRS - interpolated_grid.h - DEPENDS - mapping_3d_hybrid_grid -) - -google_library(mapping_3d_scan_matching_occupied_space_cost_functor - USES_EIGEN - HDRS - occupied_space_cost_functor.h - DEPENDS - mapping_3d_hybrid_grid - mapping_3d_scan_matching_interpolated_grid - sensor_point_cloud - transform_rigid_transform - transform_transform -) - -google_library(mapping_3d_scan_matching_precomputation_grid - USES_EIGEN - USES_GLOG - SRCS - precomputation_grid.cc - HDRS - precomputation_grid.h - DEPENDS - common_math - mapping_3d_hybrid_grid - mapping_probability_values -) - -google_library(mapping_3d_scan_matching_real_time_correlative_scan_matcher - USES_EIGEN - USES_GLOG - SRCS - real_time_correlative_scan_matcher.cc - HDRS - real_time_correlative_scan_matcher.h - DEPENDS - common_math - mapping_2d_scan_matching_proto_real_time_correlative_scan_matcher_options - mapping_3d_hybrid_grid - sensor_point_cloud - transform_transform -) - -google_library(mapping_3d_scan_matching_rotation_delta_cost_functor - USES_CERES - USES_EIGEN - HDRS - rotation_delta_cost_functor.h - DEPENDS - transform_rigid_transform - transform_transform -) - -google_library(mapping_3d_scan_matching_rotational_scan_matcher - USES_EIGEN - SRCS - rotational_scan_matcher.cc - HDRS - rotational_scan_matcher.h - DEPENDS - common_math - mapping_trajectory_node - sensor_point_cloud -) - -google_library(mapping_3d_scan_matching_translation_delta_cost_functor - USES_EIGEN - HDRS - translation_delta_cost_functor.h - DEPENDS - transform_rigid_transform -) - google_test(mapping_3d_scan_matching_ceres_scan_matcher_test - USES_EIGEN SRCS ceres_scan_matcher_test.cc - DEPENDS - common_lua_parameter_dictionary_test_helpers - mapping_3d_hybrid_grid - mapping_3d_scan_matching_ceres_scan_matcher - sensor_point_cloud - transform_rigid_transform - transform_rigid_transform_test_helpers ) google_test(mapping_3d_scan_matching_fast_correlative_scan_matcher_test SRCS fast_correlative_scan_matcher_test.cc - DEPENDS - common_lua_parameter_dictionary_test_helpers - mapping_3d_laser_fan_inserter - mapping_3d_scan_matching_fast_correlative_scan_matcher - transform_rigid_transform_test_helpers - transform_transform ) google_test(mapping_3d_scan_matching_interpolated_grid_test - USES_EIGEN SRCS interpolated_grid_test.cc - DEPENDS - mapping_3d_hybrid_grid - mapping_3d_scan_matching_interpolated_grid ) google_test(mapping_3d_scan_matching_precomputation_grid_test SRCS precomputation_grid_test.cc - DEPENDS - mapping_3d_hybrid_grid - mapping_3d_scan_matching_precomputation_grid ) google_test(mapping_3d_scan_matching_real_time_correlative_scan_matcher_test - USES_EIGEN SRCS real_time_correlative_scan_matcher_test.cc - DEPENDS - common_lua_parameter_dictionary_test_helpers - mapping_2d_scan_matching_real_time_correlative_scan_matcher - mapping_3d_hybrid_grid - mapping_3d_scan_matching_real_time_correlative_scan_matcher - sensor_point_cloud - transform_rigid_transform - transform_rigid_transform_test_helpers - transform_transform ) diff --git a/cartographer/mapping_3d/scan_matching/proto/CMakeLists.txt b/cartographer/mapping_3d/scan_matching/proto/CMakeLists.txt deleted file mode 100644 index bffac15..0000000 --- a/cartographer/mapping_3d/scan_matching/proto/CMakeLists.txt +++ /dev/null @@ -1,25 +0,0 @@ -# Copyright 2016 The Cartographer Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -google_proto_library(mapping_3d_scan_matching_proto_ceres_scan_matcher_options - SRCS - ceres_scan_matcher_options.proto - DEPENDS - common_proto_ceres_solver_options -) - -google_proto_library(mapping_3d_scan_matching_proto_fast_correlative_scan_matcher_options - SRCS - fast_correlative_scan_matcher_options.proto -) diff --git a/cartographer/mapping_3d/sparse_pose_graph/CMakeLists.txt b/cartographer/mapping_3d/sparse_pose_graph/CMakeLists.txt index e866bc3..3db3270 100644 --- a/cartographer/mapping_3d/sparse_pose_graph/CMakeLists.txt +++ b/cartographer/mapping_3d/sparse_pose_graph/CMakeLists.txt @@ -12,82 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -google_library(mapping_3d_sparse_pose_graph_constraint_builder - USES_EIGEN - USES_GLOG - SRCS - constraint_builder.cc - HDRS - constraint_builder.h - DEPENDS - common_fixed_ratio_sampler - common_histogram - common_lua_parameter_dictionary - common_make_unique - common_math - common_mutex - common_thread_pool - kalman_filter_pose_tracker - mapping_3d_scan_matching_ceres_scan_matcher - mapping_3d_scan_matching_fast_correlative_scan_matcher - mapping_3d_scan_matching_proto_ceres_scan_matcher_options - mapping_3d_scan_matching_proto_fast_correlative_scan_matcher_options - mapping_3d_sparse_pose_graph_optimization_problem - mapping_3d_submaps - mapping_submaps - mapping_trajectory_connectivity - mapping_trajectory_node - sensor_compressed_point_cloud - sensor_point_cloud - sensor_voxel_filter - transform_transform -) - -google_library(mapping_3d_sparse_pose_graph_optimization_problem - USES_CERES - USES_EIGEN - USES_GLOG - SRCS - optimization_problem.cc - HDRS - optimization_problem.h - DEPENDS - common_ceres_solver_options - common_make_unique - common_math - common_port - common_time - mapping_3d_acceleration_cost_function - mapping_3d_ceres_pose - mapping_3d_imu_integration - mapping_3d_rotation_cost_function - mapping_3d_sparse_pose_graph_spa_cost_function - mapping_3d_submaps - mapping_sparse_pose_graph - mapping_sparse_pose_graph_proto_optimization_problem_options - transform_transform -) - -google_library(mapping_3d_sparse_pose_graph_spa_cost_function - USES_CERES - USES_EIGEN - HDRS - spa_cost_function.h - DEPENDS - common_math - mapping_sparse_pose_graph - transform_rigid_transform -) - google_test(mapping_3d_sparse_pose_graph_optimization_problem_test - USES_EIGEN - USES_GLOG SRCS optimization_problem_test.cc - DEPENDS - common_lua_parameter_dictionary_test_helpers - common_time - mapping_3d_sparse_pose_graph_optimization_problem - mapping_sparse_pose_graph_optimization_problem_options - transform_transform ) diff --git a/cartographer/sensor/CMakeLists.txt b/cartographer/sensor/CMakeLists.txt index cdb67f2..6fcf2ed 100644 --- a/cartographer/sensor/CMakeLists.txt +++ b/cartographer/sensor/CMakeLists.txt @@ -12,155 +12,32 @@ # See the License for the specific language governing permissions and # limitations under the License. -add_subdirectory("proto") - -google_library(sensor_collator - SRCS - collator.cc - HDRS - collator.h - DEPENDS - sensor_data - sensor_ordered_multi_queue -) - -google_library(sensor_compressed_point_cloud - USES_EIGEN - SRCS - compressed_point_cloud.cc - HDRS - compressed_point_cloud.h - DEPENDS - common_math - common_port - mapping_3d_hybrid_grid - sensor_point_cloud - sensor_proto_sensor -) - -google_library(sensor_configuration - USES_EIGEN - USES_GLOG - SRCS - configuration.cc - HDRS - configuration.h - DEPENDS - common_lua_parameter_dictionary - sensor_proto_configuration - transform_proto_transform - transform_rigid_transform - transform_transform -) - -google_library(sensor_data - HDRS - data.h - DEPENDS - common_time - kalman_filter_pose_tracker - sensor_laser - sensor_point_cloud - transform_rigid_transform -) - -google_library(sensor_laser - SRCS - laser.cc - HDRS - laser.h - DEPENDS - common_port - sensor_compressed_point_cloud - sensor_point_cloud - sensor_proto_sensor - transform_transform -) - -google_library(sensor_ordered_multi_queue - USES_GLOG - SRCS - ordered_multi_queue.cc - HDRS - ordered_multi_queue.h - DEPENDS - common_blocking_queue - common_make_unique - common_port - common_time - sensor_data -) - -google_library(sensor_point_cloud - USES_EIGEN - USES_GLOG - SRCS - point_cloud.cc - HDRS - point_cloud.h - DEPENDS - sensor_proto_sensor - transform_rigid_transform - transform_transform -) - -google_library(sensor_voxel_filter - SRCS - voxel_filter.cc - HDRS - voxel_filter.h - DEPENDS - common_lua_parameter_dictionary - common_math - mapping_3d_hybrid_grid - sensor_point_cloud - sensor_proto_adaptive_voxel_filter_options -) - google_test(sensor_collator_test SRCS collator_test.cc - DEPENDS - common_lua_parameter_dictionary_test_helpers - common_make_unique - common_time - sensor_collator - sensor_proto_sensor ) google_test(sensor_compressed_point_cloud_test SRCS compressed_point_cloud_test.cc - DEPENDS - sensor_compressed_point_cloud ) google_test(sensor_laser_test SRCS laser_test.cc - DEPENDS - sensor_laser ) google_test(sensor_ordered_multi_queue_test SRCS ordered_multi_queue_test.cc - DEPENDS - common_make_unique - sensor_ordered_multi_queue ) google_test(sensor_point_cloud_test SRCS point_cloud_test.cc - DEPENDS - sensor_point_cloud - transform_transform ) google_test(sensor_voxel_filter_test SRCS voxel_filter_test.cc - DEPENDS - sensor_voxel_filter ) diff --git a/cartographer/sensor/proto/CMakeLists.txt b/cartographer/sensor/proto/CMakeLists.txt deleted file mode 100644 index f32e838..0000000 --- a/cartographer/sensor/proto/CMakeLists.txt +++ /dev/null @@ -1,32 +0,0 @@ -# Copyright 2016 The Cartographer Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -google_proto_library(sensor_proto_adaptive_voxel_filter_options - SRCS - adaptive_voxel_filter_options.proto -) - -google_proto_library(sensor_proto_configuration - SRCS - configuration.proto - DEPENDS - transform_proto_transform -) - -google_proto_library(sensor_proto_sensor - SRCS - sensor.proto - DEPENDS - transform_proto_transform -) diff --git a/cartographer/transform/CMakeLists.txt b/cartographer/transform/CMakeLists.txt index 15a820d..3dcf3e1 100644 --- a/cartographer/transform/CMakeLists.txt +++ b/cartographer/transform/CMakeLists.txt @@ -12,72 +12,12 @@ # See the License for the specific language governing permissions and # limitations under the License. -add_subdirectory("proto") - -google_library(transform_rigid_transform - USES_EIGEN - USES_GLOG - SRCS - rigid_transform.cc - HDRS - rigid_transform.h - DEPENDS - common_lua_parameter_dictionary - common_math - common_port -) - -google_library(transform_rigid_transform_test_helpers - USES_EIGEN - HDRS - rigid_transform_test_helpers.h - DEPENDS - common_port - transform_rigid_transform -) - -google_library(transform_transform - USES_EIGEN - SRCS - transform.cc - HDRS - transform.h - DEPENDS - common_math - transform_proto_transform - transform_rigid_transform -) - -google_library(transform_transform_interpolation_buffer - USES_EIGEN - USES_GLOG - SRCS - transform_interpolation_buffer.cc - HDRS - transform_interpolation_buffer.h - DEPENDS - common_make_unique - common_time - mapping_proto_trajectory - transform_rigid_transform - transform_transform -) - google_test(transform_transform_interpolation_buffer_test - USES_EIGEN SRCS transform_interpolation_buffer_test.cc - DEPENDS - transform_rigid_transform - transform_rigid_transform_test_helpers - transform_transform_interpolation_buffer ) google_test(transform_transform_test SRCS transform_test.cc - DEPENDS - transform_rigid_transform - transform_rigid_transform_test_helpers - transform_transform ) diff --git a/cartographer/transform/proto/CMakeLists.txt b/cartographer/transform/proto/CMakeLists.txt deleted file mode 100644 index 38606ae..0000000 --- a/cartographer/transform/proto/CMakeLists.txt +++ /dev/null @@ -1,18 +0,0 @@ -# Copyright 2016 The Cartographer Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -google_proto_library(transform_proto_transform - SRCS - transform.proto -) diff --git a/cmake/functions.cmake b/cmake/functions.cmake index 7c55154..7f54de6 100644 --- a/cmake/functions.cmake +++ b/cmake/functions.cmake @@ -15,25 +15,9 @@ include(CMakeParseArguments) macro(_parse_arguments ARGS) - set(OPTIONS - USES_BOOST - USES_CERES - USES_EIGEN - USES_GFLAGS - USES_GLOG - USES_LUA - USES_WEBP - USES_CAIRO - ) - - # Options only used by projects using Cartographers cmake files. - list(APPEND OPTIONS - USES_CARTOGRAPHER - USES_PCL - USES_YAMLCPP - ) + set(OPTIONS) set(ONE_VALUE_ARG) - set(MULTI_VALUE_ARGS SRCS HDRS DEPENDS) + set(MULTI_VALUE_ARGS SRCS) cmake_parse_arguments(ARG "${OPTIONS}" "${ONE_VALUE_ARG}" "${MULTI_VALUE_ARGS}" ${ARGS}) endmacro(_parse_arguments) @@ -41,178 +25,16 @@ endmacro(_parse_arguments) macro(_common_compile_stuff VISIBILITY) set(TARGET_COMPILE_FLAGS "${TARGET_COMPILE_FLAGS} ${GOOG_CXX_FLAGS}") - foreach(DEPENDENCY ${ARG_DEPENDS}) - target_link_libraries("${NAME}" PUBLIC ${DEPENDENCY}) - endforeach() - - if(catkin_INCLUDE_DIRS) - target_include_directories("${NAME}" SYSTEM ${VISIBILITY} - "${catkin_INCLUDE_DIRS}") - target_link_libraries("${NAME}" PUBLIC ${catkin_LIBRARIES}) - add_dependencies("${NAME}" ${catkin_EXPORTED_TARGETS} - ) - endif() - - if(ARG_USES_EIGEN) - target_include_directories("${NAME}" SYSTEM ${VISIBILITY} - "${EIGEN3_INCLUDE_DIR}") - target_link_libraries("${NAME}" PUBLIC ${EIGEN3_LIBRARIES}) - endif() - - if(ARG_USES_CERES) - target_include_directories("${NAME}" SYSTEM ${VISIBILITY} - "${CERES_INCLUDE_DIRS}") - target_link_libraries("${NAME}" PUBLIC ${CERES_LIBRARIES}) - endif() - - if(ARG_USES_LUA) - target_include_directories("${NAME}" SYSTEM ${VISIBILITY} - "${LUA_INCLUDE_DIR}") - target_link_libraries("${NAME}" PUBLIC ${LUA_LIBRARIES}) - endif() - - if(ARG_USES_BOOST) - target_include_directories("${NAME}" SYSTEM ${VISIBILITY} - "${Boost_INCLUDE_DIRS}") - target_link_libraries("${NAME}" PUBLIC ${Boost_LIBRARIES}) - endif() - - if(ARG_USES_WEBP) - target_link_libraries("${NAME}" PUBLIC webp) - endif() - - # We rely on Ceres to find glog and gflags for us. - if(ARG_USES_GLOG) - target_link_libraries("${NAME}" PUBLIC glog) - endif() - - if(ARG_USES_GFLAGS) - target_link_libraries("${NAME}" PUBLIC gflags) - endif() - - if(ARG_USES_CARTOGRAPHER) - target_include_directories("${NAME}" SYSTEM ${VISIBILITY} - "${CARTOGRAPHER_INCLUDE_DIRS}") - target_link_libraries("${NAME}" PUBLIC ${CARTOGRAPHER_LIBRARIES}) - endif() - - if(ARG_USES_PCL) - target_include_directories("${NAME}" SYSTEM ${VISIBILITY} - "${PCL_INCLUDE_DIRS}") - target_link_libraries("${NAME}" PUBLIC ${PCL_LIBRARIES}) - foreach(DEFINITION ${PCL_DEFINITIONS}) - set(TARGET_COMPILE_FLAGS "${TARGET_COMPILE_FLAGS} ${DEFINITION}") - endforeach() - endif() - - if(ARG_USES_YAMLCPP) - target_include_directories("${NAME}" SYSTEM ${VISIBILITY} - "${YAMLCPP_INCLUDE_DIRS}") - target_link_libraries("${NAME}" PUBLIC ${YAMLCPP_LIBRARIES}) - endif() - - if(ARG_USES_CAIRO) - target_include_directories("${NAME}" SYSTEM ${VISIBILITY} - "${CAIRO_INCLUDE_DIRS}") - target_link_libraries("${NAME}" PUBLIC ${CAIRO_LIBRARIES}) - endif() - set_target_properties(${NAME} PROPERTIES COMPILE_FLAGS ${TARGET_COMPILE_FLAGS}) - # Add the binary directory first, so that port.h is included after it has - # been generated. - target_include_directories("${NAME}" ${VISIBILITY} - $ - $ - $ - ) - - # Figure out where to install the header. The logic goes like this: either - # the header is in the current binary directory (i.e. generated, like port.h) - # or in the current source directory - a regular header. It could also - # already be absolute (i.e. generated through a google_proto_library rule). - # In all cases we want to install the right header under the right subtree, - # e.g. foo/bar/baz.h.in will be installed from the binary directory as - # 'include/foo/bar/baz.h'. - foreach(HDR ${ARG_HDRS}) - if(EXISTS ${CMAKE_CURRENT_BINARY_DIR}/${HDR}) - set(ABS_FIL "${CMAKE_CURRENT_BINARY_DIR}/${HDR}") - file(RELATIVE_PATH REL_FIL ${CMAKE_BINARY_DIR} ${ABS_FIL}) - elseif(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${HDR}) - set(ABS_FIL "${CMAKE_CURRENT_SOURCE_DIR}/${HDR}") - file(RELATIVE_PATH REL_FIL ${CMAKE_SOURCE_DIR} ${ABS_FIL}) - else() - set(ABS_FIL "${HDR}") - file(RELATIVE_PATH REL_FIL ${CMAKE_BINARY_DIR} ${ABS_FIL}) - endif() - get_filename_component(INSTALL_DIR ${REL_FIL} DIRECTORY) - install( - FILES - ${ABS_FIL} - DESTINATION - include/${INSTALL_DIR} - ) - endforeach() + target_include_directories(${NAME} PUBLIC ${PROJECT_NAME}) + target_link_libraries(${NAME} PUBLIC ${PROJECT_NAME}) endmacro(_common_compile_stuff) -# Create a static library out of other static libraries by running a GNU ar -# script over the dependencies. -function(google_combined_library NAME) - set(MULTI_VALUE_ARGS SRCS) - cmake_parse_arguments(ARG "" "" "${MULTI_VALUE_ARGS}" ${ARGN}) +function(google_test NAME) + _parse_arguments("${ARGN}") - # CMake requires a source file for each library, so we create a dummy file - # that is empty. Its creation depends on all libraries we want to include in - # our combined static library, i.e. it will be touched whenever any of them - # change, which means that our combined library is regenerated. - set(DUMMY_SOURCE ${CMAKE_CURRENT_BINARY_DIR}/${NAME}_dummy.cc) - add_custom_command( - OUTPUT ${DUMMY_SOURCE} - COMMAND cmake -E touch ${DUMMY_SOURCE} - DEPENDS ${ARG_SRCS} - ) - - # Just a dummy library, we will overwrite its output directly after again - # with its POST_BUILD step. - google_library(${NAME} - SRCS ${DUMMY_SOURCE} - DEPENDS ${ARG_SRCS} - ) - - # We will delete the static lib generated by the last call to - # 'google_library' and recreate it using a GNU ar script that combines the - # SRCS into the NAME. - # TODO(hrapp): this is probably not very portable, but should work fine on - # Linux. - set(AR_SCRIPT "") - set(AR_SCRIPT "CREATE $\n") - foreach(SRC ${ARG_SRCS}) - set(AR_SCRIPT "${AR_SCRIPT}ADDLIB $\n") - endforeach() - set(AR_SCRIPT "${AR_SCRIPT}SAVE\nEND\n") - set(AR_SCRIPT_FILE "${CMAKE_CURRENT_BINARY_DIR}/${NAME}_ar.script") - file(GENERATE OUTPUT ${AR_SCRIPT_FILE} CONTENT ${AR_SCRIPT}) - - add_custom_command(TARGET ${NAME} POST_BUILD - COMMAND rm $ - COMMAND ${CMAKE_AR} - ARGS -M < ${AR_SCRIPT_FILE} - COMMENT "Recombining static libraries into ${NAME}." - ) -endfunction() - -# Create a variable 'VAR_NAME'='FLAG'. If VAR_NAME is already set, FLAG is -# appended. -function(google_add_flag VAR_NAME FLAG) - if (${VAR_NAME}) - set(${VAR_NAME} "${${VAR_NAME}} ${FLAG}" PARENT_SCOPE) - else() - set(${VAR_NAME} "${FLAG}" PARENT_SCOPE) - endif() -endfunction() - -macro(_common_test_stuff) add_executable(${NAME} ${ARG_SRCS} ${ARG_HDRS} ) @@ -222,33 +44,7 @@ macro(_common_test_stuff) target_include_directories("${NAME}" SYSTEM PRIVATE "${GMOCK_INCLUDE_DIRS}") target_link_libraries("${NAME}" PUBLIC ${GMOCK_LIBRARIES}) -endmacro() -function(_google_catkin_test NAME) - if(NOT "${CATKIN_ENABLE_TESTING}") - return() - endif() - - _parse_arguments("${ARGN}") - _common_test_stuff() - - # Copied from the catkin sources. Tracked in ros/catkin:#830. - add_dependencies(tests ${NAME}) - get_target_property(_target_path ${NAME} RUNTIME_OUTPUT_DIRECTORY) - set(cmd "${_target_path}/${NAME} --gtest_output=xml:${CATKIN_TEST_RESULTS_DIR}/${PROJECT_NAME}/gtest-${NAME}.xml") - catkin_run_tests_target("gtest" ${NAME} "gtest-${NAME}.xml" - COMMAND ${cmd} - DEPENDENCIES ${NAME} - WORKING_DIRECTORY ${ARG_WORKING_DIRECTORY}) -endfunction() - -function(google_test NAME) - if (catkin_INCLUDE_DIRS) - _google_catkin_test(${ARGV}) - return() - endif() - _parse_arguments("${ARGN}") - _common_test_stuff() add_test(${NAME} ${NAME}) endfunction() @@ -264,64 +60,14 @@ function(google_binary NAME) install(TARGETS "${NAME}" RUNTIME DESTINATION bin) endfunction() -function(google_library NAME) - _parse_arguments("${ARGN}") - - add_library(${NAME} - STATIC - ${ARG_SRCS} ${ARG_HDRS} - ) - set_property(TARGET "${NAME}" PROPERTY POSITION_INDEPENDENT_CODE ON) - - # Update the global variable that contains all static libraries. - SET(ALL_LIBRARIES "${ALL_LIBRARIES};${NAME}" CACHE INTERNAL "ALL_LIBRARIES") - - # This is needed for header only libraries. While they do not really mean - # anything for cmake, they are useful to make dependencies explicit. - set_target_properties(${NAME} PROPERTIES LINKER_LANGUAGE CXX) - - _common_compile_stuff("PUBLIC") -endfunction() - -function(google_proto_library NAME) - _parse_arguments("${ARGN}") - - set(PROTO_SRCS) - set(PROTO_HDRS) - foreach(FIL ${ARG_SRCS}) - get_filename_component(ABS_FIL ${FIL} ABSOLUTE) - get_filename_component(FIL_WE ${FIL} NAME_WE) - get_filename_component(FIL_NAME ${FIL} NAME) - - list(APPEND PROTO_SRCS "${CMAKE_CURRENT_BINARY_DIR}/${FIL_WE}.pb.cc") - list(APPEND PROTO_HDRS "${CMAKE_CURRENT_BINARY_DIR}/${FIL_WE}.pb.h") - - add_custom_command( - OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/${FIL_WE}.pb.cc" - "${CMAKE_CURRENT_BINARY_DIR}/${FIL_WE}.pb.h" - COMMAND ${PROTOBUF_PROTOC_EXECUTABLE} - ARGS --cpp_out ${CMAKE_BINARY_DIR} -I - ${CMAKE_SOURCE_DIR} ${ABS_FIL} - DEPENDS ${ABS_FIL} - COMMENT "Running C++ protocol buffer compiler on ${FIL}" - VERBATIM - ) - endforeach() - - set_source_files_properties(${PROTO_SRCS} ${PROTO_HDRS} - PROPERTIES GENERATED TRUE) - - google_library("${NAME}" - SRCS "${PROTO_SRCS}" - HDRS "${PROTO_HDRS}" - DEPENDS "${ARG_DEPENDS}" - ) - - target_include_directories("${NAME}" SYSTEM "PUBLIC" - "${PROTOBUF_INCLUDE_DIR}") - # TODO(hrapp): This should not explicityly list pthread and use - # PROTOBUF_LIBRARIES, but that failed on first try. - target_link_libraries("${NAME}" PUBLIC ${PROTOBUF_LIBRARY} pthread) +# Create a variable 'VAR_NAME'='FLAG'. If VAR_NAME is already set, FLAG is +# appended. +function(google_add_flag VAR_NAME FLAG) + if (${VAR_NAME}) + set(${VAR_NAME} "${${VAR_NAME}} ${FLAG}" PARENT_SCOPE) + else() + set(${VAR_NAME} "${FLAG}" PARENT_SCOPE) + endif() endfunction() macro(google_initialize_cartographer_project) diff --git a/scripts/update_cmakelists.py b/scripts/update_cmakelists.py index b6d0d12..967ae05 100755 --- a/scripts/update_cmakelists.py +++ b/scripts/update_cmakelists.py @@ -78,51 +78,18 @@ def ExtractProjectIncludes(project_name, source): """Returns all locally included files.""" includes = set() for line in open(MaybeUseCmakeFile(source)): - if source.endswith(".proto"): - match = re.match(r'^import "(' + project_name + r'/[^"]+)', line) - else: - match = re.match(r'^#include "(' + project_name + r'/[^"]+)"', line) + match = re.match(r'^#include "(' + project_name + r'/[^"]+)"', line) if match: includes.add(match.group(1)) return includes -def ExtractUses(project_name, source): - """Finds the options for the third_party libraries used.""" - uses = set() - for line in open(MaybeUseCmakeFile(source)): - if re.match(r'^#include "Eigen/', line): - uses.add("USES_EIGEN") - if re.match(r"^#include ", line): - uses.add("USES_LUA") - if re.match(r'^#include "ceres/', line): - uses.add("USES_CERES") - if re.match(r'^#include "glog/', line): - uses.add("USES_GLOG") - if re.match(r'^#include "gflags/', line): - uses.add("USES_GFLAGS") - if re.match(r'^#include ["<]boost/', line): - uses.add("USES_BOOST") - if re.match(r'^#include ["<]webp/', line): - uses.add("USES_WEBP") - if re.match(r'^#include ["<]pcl/', line): - uses.add("USES_PCL") - if re.match(r'^#include ["<]yaml-cpp/', line): - uses.add("USES_YAMLCPP") - if re.match(r'^#include ["<]cairo/', line): - uses.add("USES_CAIRO") - if project_name != "cartographer": - if re.match(r'^#include ["<]cartographer/', line): - uses.add("USES_CARTOGRAPHER") - return uses - - def FindSourceFiles(basedir): sources = set() for (directory, _, filenames) in os.walk(basedir): for filename in filenames: ext = path.splitext(filename)[-1] - if ext in [".h", ".cc", ".proto"]: + if ext in [".h", ".cc"]: sources.add(path.join(directory, filename)) elif filename.endswith(".h.cmake"): sources.add(path.join(directory, path.splitext(filename)[0])) @@ -188,10 +155,6 @@ def RunOnDirectory(root): for s in srcs + hdrs: relative_s = MakeRelative(s, base_directory) targets_by_src[relative_s] = target - if s.endswith(".proto"): - proto_stem = os.path.splitext(relative_s)[0] - targets_by_src[proto_stem + ".pb.h"] = target - targets_by_src[proto_stem + ".pb.cc"] = target directories.add(directory) for (directory, sources) in FindSourceFiles(root): @@ -201,13 +164,9 @@ def RunOnDirectory(root): headers = set(fn for fn in sources if fn.endswith(".h")) sources -= headers for h in sorted(headers): - srcs = [] - name = prepend_module_name(path.basename(path.splitext(h)[0])) cc_file = path.splitext(h)[0] + ".cc" if cc_file in sources: sources.remove(cc_file) - srcs.append(cc_file) - AddTarget("google_library", name, directory, srcs, [h]) tests = set(fn for fn in sources if fn.endswith("_test.cc")) sources -= tests @@ -215,12 +174,6 @@ def RunOnDirectory(root): name = prepend_module_name(path.basename(path.splitext(c)[0])) AddTarget("google_test", name, directory, [c], []) - protos = set(fn for fn in sources if fn.endswith(".proto")) - sources -= protos - for c in sorted(protos): - name = prepend_module_name(path.basename(path.splitext(c)[0])) - AddTarget("google_proto_library", name, directory, [c], []) - mains = set(fn for fn in sources if fn.endswith("_main.cc")) sources -= mains for c in sorted(mains): @@ -235,16 +188,6 @@ def RunOnDirectory(root): # Write the CMakeLists.txt files. for directory in directories: - targets_in_directory = [t for t in targets if t.directory == directory] - for target in targets_in_directory: - for src in target.srcs + target.hdrs: - for header in ExtractProjectIncludes(project_name, src): - dependant = targets_by_src[header] - if dependant.name == target.name: - continue - target.depends.add(dependant.name) - target.uses.update(ExtractUses(project_name, src)) - cmake_file = path.join(directory, "CMakeLists.txt") parts = GetNonGoogleTargetLines(cmake_file) @@ -259,7 +202,7 @@ def RunOnDirectory(root): dump(parts["START"]) del parts["START"] - for target in targets_in_directory: + for target in [t for t in targets if t.directory == directory]: dump(target.Format(directory)) if target.name in parts: dump(parts[target.name])