CMakeLists.txt 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152
  1. project(measure_wj_proj)
  2. cmake_minimum_required(VERSION 3.5)
  3. set (CMAKE_CXX_STANDARD 14)
  4. set(CMAKE_BUILD_TYPE "Release")
  5. # set(PCL_DIR "/home/youchen/pcl-1.8/share/pcl-1.8")
  6. #nanomsg
  7. find_package(PkgConfig REQUIRED)
  8. pkg_check_modules(nanomsg REQUIRED nanomsg)
  9. #yaml
  10. pkg_check_modules(YAML_CPP REQUIRED yaml-cpp)
  11. find_path(YAML_CPP_INCLUDE_DIR
  12. NAMES yaml_cpp.h
  13. PATHS ${YAML_CPP_INCLUDE_DIRS})
  14. find_library(YAML_CPP_LIBRARY
  15. NAMES YAML_CPP
  16. PATHS ${YAML_CPP_LIBRARY_DIRS})
  17. link_directories(${YAML_CPP_LIBRARY_DIRS})
  18. if(NOT ${YAML_CPP_VERSION} VERSION_LESS "0.5")
  19. add_definitions(-DHAVE_NEW_YAMLCPP)
  20. endif(NOT ${YAML_CPP_VERSION} VERSION_LESS "0.5")
  21. # MESSAGE(WARNING ${YAML_CPP_VERSION} ${YAML_CPP_INCLUDE_DIRS} ${YAML_CPP_LIBRARY_DIRS})
  22. #other libs
  23. FIND_PACKAGE(Protobuf REQUIRED)
  24. # FIND_PACKAGE(Glog REQUIRED)
  25. FIND_PACKAGE(OpenCV REQUIRED)
  26. FIND_PACKAGE(PCL REQUIRED)
  27. FIND_PACKAGE(Ceres REQUIRED)
  28. MESSAGE(WARN "pcl:: ${PCL_INCLUDE_DIRS} --- ${PCL_LIBRARIES}")
  29. include_directories(
  30. /usr/local/include
  31. ${PCL_INCLUDE_DIRS}
  32. ${OpenCV_INCLUDE_DIRS}
  33. ${PROTOBUF_INCLUDE_DIRS}
  34. ${CERES_INCLUDE_DIRS}
  35. communication
  36. message
  37. error_code
  38. tool
  39. system
  40. )
  41. link_directories("/usr/local/lib")
  42. message(STATUS ${EXECUTABLE_OUTPUT_PATH})
  43. aux_source_directory(${CMAKE_CURRENT_LIST_DIR}/error_code ERROR_SRC )
  44. aux_source_directory(${CMAKE_CURRENT_LIST_DIR}/message message_src )
  45. aux_source_directory(${CMAKE_CURRENT_LIST_DIR}/wanji_lidar WANJI_LIDAR_SRC )
  46. aux_source_directory(${CMAKE_CURRENT_LIST_DIR}/task TASK_MANAGER_SRC )
  47. aux_source_directory(${CMAKE_CURRENT_LIST_DIR}/tool TOOL_SRC )
  48. aux_source_directory(${CMAKE_CURRENT_LIST_DIR}/communication COMMUNICATION_SRC )
  49. aux_source_directory(${CMAKE_CURRENT_LIST_DIR}/system SYSTEM_SRC )
  50. aux_source_directory(${CMAKE_CURRENT_LIST_DIR}/verify VERIFY_SRC )
  51. aux_source_directory(${CMAKE_CURRENT_LIST_DIR}/velodyne_lidar/match3d/common VELODYNE_LIDAR_COMMON)
  52. aux_source_directory(${CMAKE_CURRENT_LIST_DIR}/velodyne_lidar/match3d/ VELODYNE_LIDAR_MATCH)
  53. aux_source_directory(${CMAKE_CURRENT_LIST_DIR}/velodyne_lidar/velodyne_driver VELODYNE_LIDAR_DRIVER)
  54. aux_source_directory(${CMAKE_CURRENT_LIST_DIR}/velodyne_lidar VELODYNE_LIDAR)
  55. aux_source_directory(${CMAKE_CURRENT_LIST_DIR}/rabbitmq RABBIT_MQ)
  56. add_executable(measure_wj
  57. main.cpp
  58. ${ERROR_SRC}
  59. ${message_src}
  60. ${WANJI_LIDAR_SRC}
  61. ${TASK_MANAGER_SRC}
  62. ${TOOL_SRC}
  63. ${COMMUNICATION_SRC}
  64. ${SYSTEM_SRC}
  65. ${VERIFY_SRC}
  66. ${VELODYNE_LIDAR_COMMON}
  67. ${VELODYNE_LIDAR_MATCH}
  68. ${VELODYNE_LIDAR_DRIVER}
  69. ${VELODYNE_LIDAR}
  70. ${RABBIT_MQ}
  71. )
  72. target_link_libraries(measure_wj
  73. /usr/local/lib/libglog.a
  74. /usr/local/lib/libgflags.a
  75. # /usr/lib/x86_64-linux-gnu/libglog.so
  76. # /usr/lib/x86_64-linux-gnu/libgflags.so
  77. /usr/local/lib/librabbitmq.a
  78. nnxx
  79. nanomsg
  80. ${PROTOBUF_LIBRARIES}
  81. ${OpenCV_LIBS}
  82. ${GLOG_LIBRARIES}
  83. ${PCL_LIBRARIES}
  84. ${CERES_LIBRARIES}
  85. ${YAML_CPP_LIBRARIES}
  86. -lpthread
  87. )
  88. # vlp16 driver test
  89. add_executable(vlp16 tests/vlp16_driver_test.cpp
  90. ${ERROR_SRC}
  91. ${message_src}
  92. ${WANJI_LIDAR_SRC}
  93. ${TASK_MANAGER_SRC}
  94. ${TOOL_SRC}
  95. ${COMMUNICATION_SRC}
  96. ${SYSTEM_SRC}
  97. ${RABBIT_MQ}
  98. ${VERIFY_SRC}
  99. ${VELODYNE_LIDAR_COMMON}
  100. ${VELODYNE_LIDAR_MATCH}
  101. ${VELODYNE_LIDAR_DRIVER}
  102. ${VELODYNE_LIDAR}
  103. )
  104. target_link_libraries(vlp16
  105. /usr/local/lib/libglog.a
  106. /usr/local/lib/libgflags.a
  107. # /usr/lib/x86_64-linux-gnu/libglog.so
  108. # /usr/lib/x86_64-linux-gnu/libgflags.so
  109. nnxx
  110. nanomsg
  111. ${PROTOBUF_LIBRARIES}
  112. ${OpenCV_LIBS}
  113. ${GLOG_LIBRARIES}
  114. ${PCL_LIBRARIES}
  115. ${CERES_LIBRARIES}
  116. ${YAML_CPP_LIBRARIES}
  117. /usr/local/lib/librabbitmq.a
  118. )
  119. add_executable(lidar_calib_tool ./tests/lidar_calib_tools.cpp ./tool/point_tool.cpp)
  120. target_link_libraries(lidar_calib_tool
  121. ${PCL_LIBRARIES}
  122. ${OpenCV_LIBS}
  123. )