CMakeLists.txt 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. cmake_minimum_required(VERSION 3.0.2)
  2. project(laser_odom)
  3. # add_compile_options(-std=c++11)
  4. find_package(catkin REQUIRED COMPONENTS
  5. roscpp
  6. pcl_ros
  7. tf
  8. )
  9. find_package(Boost REQUIRED COMPONENTS system)
  10. find_package(PCL REQUIRED)
  11. find_package(OpenMP)
  12. if (OPENMP_FOUND)
  13. set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
  14. set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
  15. endif()
  16. catkin_package(
  17. # INCLUDE_DIRS include
  18. # LIBRARIES laser_odom
  19. # CATKIN_DEPENDS roscpp
  20. # DEPENDS system_lib
  21. )
  22. include_directories(
  23. include
  24. fast_gicp/include
  25. ${PCL_INCLUDE_DIRS}
  26. ${Boost_INCLUDE_DIRS}
  27. ${catkin_INCLUDE_DIRS}
  28. )
  29. add_library(fast_gicp SHARED
  30. fast_gicp/src/lsq_registration.cpp
  31. fast_gicp/src/fast_gicp.cpp
  32. fast_gicp/src/fast_gicp_st.cpp
  33. fast_gicp/src/fast_vgicp.cpp
  34. )
  35. target_link_libraries(fast_gicp
  36. ${PCL_LIBRARIES}
  37. ${Boost_LIBRARIES}
  38. )
  39. add_executable(laser
  40. src/laser.cpp
  41. )
  42. add_dependencies(laser ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS})
  43. target_link_libraries(laser
  44. ${catkin_LIBRARIES}
  45. ${PCL_LIBRARIES}
  46. glog
  47. )
  48. if (OPENMP_FOUND)
  49. if (TARGET OpenMP::OpenMP_CXX)
  50. target_link_libraries(fast_gicp OpenMP::OpenMP_CXX)
  51. endif ()
  52. endif ()
  53. add_executable(laser_odom_node
  54. src/main_node.cpp
  55. # src/odom_laser.cpp
  56. )
  57. target_link_libraries(${PROJECT_NAME}_node
  58. ${catkin_LIBRARIES}
  59. ${PCL_LIBRARIES}
  60. fast_gicp
  61. glog
  62. )