12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- cmake_minimum_required(VERSION 2.8.3)
- project(space_slam)
- set (CMAKE_BUILD_TYPE Release)
- ## Compile as C++11, supported in ROS Kinetic and newer
- add_compile_options(-std=c++11)
- set(CMAKE_CXX_FLAGS "-std=c++0x -Wno-deprecated")
- find_package(Boost REQUIRED COMPONENTS system thread)
- find_package(catkin REQUIRED COMPONENTS
- roscpp
- rospy
- base_msgs
- tf
- )
- include(CheckCXXCompilerFlag)
- CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11)
- CHECK_CXX_COMPILER_FLAG("-std=c++0x" COMPILER_SUPPORTS_CXX0X)
- if(COMPILER_SUPPORTS_CXX11)
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
- elseif(COMPILER_SUPPORTS_CXX0X)
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x")
- else()
- message(STATUS "The compiler ${CMAKE_CXX_COMPILER} has no C++11 support. Please use a different C++ compiler.")
- endif()
- # LIST(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake_modules)
- find_package(Eigen3 REQUIRED)
- #generate_messages(DEPENDENCIES std_msgs geometry_msgs nav_msgs)
- find_package(Ceres REQUIRED COMPONENTS SuiteSparse)
- INCLUDE_DIRECTORIES(${CERES_INCLUDE_DIRS})
- find_package(OpenCV REQUIRED)
- INCLUDE_DIRECTORIES(${OpenCV_INCLUDE_DIRS})
- catkin_package(
- # CATKIN_DEPENDS message_runtime
- )
- include_directories(
- ${catkin_INCLUDE_DIRS}
- ${EIGEN_INCLUDE_DIRS}
- )
- link_directories(
- /usr/lib/
- /usr/local/lib/
- /usr/local/libstatic/
- )
- INCLUDE_DIRECTORIES(
- ${PROJECT_SOURCE_DIR}
- )
- add_executable(slam_node
- ros_node.cpp
- map/map.cpp
- odom/odom.cpp
- slam/slam.cpp
- filter/filter.cpp
-
- pose_graph/pose_cost_function.cpp
- pose_graph/occupied_space_cost_function.cc
- pose_graph/pose_graph.cpp
- real_match_2d/real_match_2d.cpp
- ceres_matcher/ceres_scan_matcher_2d.cc
- ceres_matcher/occupied_space_cost_function_2d.cc
- )
- target_link_libraries(slam_node
- ${catkin_LIBRARIES}
- ${Boost_LIBRARIES}
- ${CERES_LIBRARIES}
- ${OpenCV_LIBRARIES}
- libspace_lib.so
- glog
- # libspace_key.a
- )
- install(TARGETS slam_node
- slam_node
- ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
- LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
- RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
- )
- install(DIRECTORY
- DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
- USE_SOURCE_PERMISSIONS
- )
|