CMakeLists.txt 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. project(measure_wj_proj)
  2. cmake_minimum_required(VERSION 3.5)
  3. set (CMAKE_CXX_STANDARD 11)
  4. #set(PCL_DIR "/home/youchen/pcl-1.8/share/pcl-1.8")
  5. #nanomsg
  6. find_package(PkgConfig REQUIRED)
  7. pkg_check_modules(nanomsg REQUIRED nanomsg)
  8. #yaml
  9. pkg_check_modules(YAML_CPP REQUIRED yaml-cpp)
  10. find_path(YAML_CPP_INCLUDE_DIR
  11. NAMES yaml_cpp.h
  12. PATHS ${YAML_CPP_INCLUDE_DIRS})
  13. find_library(YAML_CPP_LIBRARY
  14. NAMES YAML_CPP
  15. PATHS ${YAML_CPP_LIBRARY_DIRS})
  16. link_directories(${YAML_CPP_LIBRARY_DIRS})
  17. if(NOT ${YAML_CPP_VERSION} VERSION_LESS "0.5")
  18. add_definitions(-DHAVE_NEW_YAMLCPP)
  19. endif(NOT ${YAML_CPP_VERSION} VERSION_LESS "0.5")
  20. # MESSAGE(WARNING ${YAML_CPP_VERSION} ${YAML_CPP_INCLUDE_DIRS} ${YAML_CPP_LIBRARY_DIRS})
  21. #other libs
  22. FIND_PACKAGE(Protobuf REQUIRED)
  23. FIND_PACKAGE(Glog REQUIRED)
  24. FIND_PACKAGE(OpenCV REQUIRED)
  25. FIND_PACKAGE(PCL REQUIRED)
  26. FIND_PACKAGE(Ceres REQUIRED)
  27. MESSAGE(WARN "pcl:: ${PCL_INCLUDE_DIRS} --- ${PCL_LIBRARIES}")
  28. include_directories(
  29. /usr/local/include
  30. ${PCL_INCLUDE_DIRS}
  31. ${OpenCV_INCLUDE_DIRS}
  32. ${PROTOBUF_INCLUDE_DIRS}
  33. ${CERES_INCLUDE_DIRS}
  34. communication
  35. message
  36. error_code
  37. tool
  38. system
  39. )
  40. link_directories("/usr/local/lib")
  41. message(STATUS ${EXECUTABLE_OUTPUT_PATH})
  42. aux_source_directory(${CMAKE_CURRENT_LIST_DIR}/error_code ERROR_SRC )
  43. aux_source_directory(${CMAKE_CURRENT_LIST_DIR}/message message_src )
  44. aux_source_directory(${CMAKE_CURRENT_LIST_DIR}/wanji_lidar WANJI_LIDAR_SRC )
  45. aux_source_directory(${CMAKE_CURRENT_LIST_DIR}/task TASK_MANAGER_SRC )
  46. aux_source_directory(${CMAKE_CURRENT_LIST_DIR}/tool TOOL_SRC )
  47. aux_source_directory(${CMAKE_CURRENT_LIST_DIR}/communication COMMUNICATION_SRC )
  48. aux_source_directory(${CMAKE_CURRENT_LIST_DIR}/system SYSTEM_SRC )
  49. aux_source_directory(${CMAKE_CURRENT_LIST_DIR}/verify VERIFY_SRC )
  50. # add_executable(measure_wj
  51. # main.cpp
  52. # ${ERROR_SRC}
  53. # ${message_src}
  54. # ${WANJI_LIDAR_SRC}
  55. # ${TASK_MANAGER_SRC}
  56. # ${TOOL_SRC}
  57. # ${COMMUNICATION_SRC}
  58. # ${SYSTEM_SRC}
  59. # ${VERIFY_SRC}
  60. # )
  61. # target_link_libraries(measure_wj
  62. # /usr/local/lib/libglog.a
  63. # /usr/local/lib/libgflags.a
  64. # /usr/local/lib/liblivox_sdk_static.a
  65. # /usr/local/apr/lib/libapr-1.a
  66. # nnxx
  67. # nanomsg
  68. # ${PROTOBUF_LIBRARIES}
  69. # ${OpenCV_LIBS}
  70. # ${GLOG_LIBRARIES}
  71. # ${PCL_LIBRARIES}
  72. # ${CERES_LIBRARIES}
  73. # -lpthread
  74. # )
  75. # vlp16 driver test
  76. add_executable(vlp16 tests/vlp16_driver_test.cpp
  77. velodyne_lidar/velodyne_driver/input.cc
  78. velodyne_lidar/velodyne_driver/rawdata.cc
  79. velodyne_lidar/velodyne_driver/calibration.cc
  80. velodyne_lidar/velodyne_driver/velodyne_lidar_device.cpp
  81. velodyne_lidar/velodyne_driver/velodyne_lidar_scan_task.cpp
  82. velodyne_lidar/velodyne_config.pb.cc
  83. ${ERROR_SRC}
  84. ${TOOL_SRC}
  85. ${TASK_MANAGER_SRC}
  86. ${WANJI_LIDAR_SRC}
  87. )
  88. target_link_libraries(vlp16
  89. ${GLOG_LIBRARIES} ${PCL_LIBRARIES} ${PROTOBUF_LIBRARIES} ${YAML_CPP_LIBRARIES} ${OpenCV_LIBS}
  90. ${GLOG_LIBRARIES}
  91. ${CERES_LIBRARIES})