CMakeLists.txt 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. # 定义cmake的最低版本
  2. cmake_minimum_required(VERSION 3.5)
  3. # 定义工程名称
  4. project(MeasurementNode VERSION 1.0.0.0)
  5. # 指定安装目录
  6. SET (CMAKE_INSTALL_PREFIX
  7. ${PROJECT_SOURCE_DIR}/out
  8. )
  9. # 打印工程定级目录(非必要)
  10. message("project path: " ${PROJECT_SOURCE_DIR})
  11. include_directories(
  12. ${PROJECT_SOURCE_DIR}/Modules/DataToCloud/device
  13. ${PROJECT_SOURCE_DIR}/Modules/DataToCloud/service
  14. ${PROJECT_SOURCE_DIR}/Modules/DataToCloud/conversion
  15. ${PROJECT_SOURCE_DIR}/tool
  16. )
  17. # 第三方库
  18. find_path(YAML_CPP_INCLUDE_DIR
  19. NAMES yaml_cpp.h
  20. PATHS ${YAML_CPP_INCLUDE_DIRS})
  21. find_library(YAML_CPP_LIBRARY
  22. NAMES YAML_CPP
  23. PATHS ${YAML_CPP_LIBRARY_DIRS})
  24. if(NOT ${YAML_CPP_VERSION} VERSION_LESS "0.5")
  25. add_definitions(-DHAVE_NEW_YAMLCPP)
  26. endif(NOT ${YAML_CPP_VERSION} VERSION_LESS "0.5")
  27. add_subdirectory(thirdpart/rs_driver)
  28. FIND_PACKAGE(PCL REQUIRED)
  29. FIND_PACKAGE(OpenCV REQUIRED)
  30. FIND_PACKAGE(rs_driver REQUIRED)
  31. FIND_PACKAGE(Eigen3 REQUIRED)
  32. FIND_PACKAGE(Protobuf REQUIRED)
  33. # 添加子目录CMAKE
  34. add_subdirectory(thirdpart) # 模块
  35. add_subdirectory(tool) #
  36. add_subdirectory(Modules/DataToCloud/service) # 模块
  37. add_subdirectory(Modules/DataToCloud/conversion) # 模块
  38. add_subdirectory(Modules/DataToCloud/device) # 模块
  39. # 将./src 下的所有文件名保存到DIR_SRCS变量
  40. aux_source_directory(. DIR_SRCS)
  41. # 编译时打印
  42. message("-- add " ${DIR_SRCS})
  43. # 生成可执行文件
  44. add_executable(MeasurementNode ${DIR_SRCS})
  45. # 添加链接静态库
  46. target_link_libraries(MeasurementNode
  47. libdevice
  48. libconversion
  49. libpahoc
  50. libtool
  51. -lpthread
  52. )
  53. # 将库文件,可执行文件,头文件安装到指定目录
  54. install(TARGETS MeasurementNode
  55. LIBRARY DESTINATION lib # 动态库安装路径
  56. ARCHIVE DESTINATION lib # 静态库安装路径
  57. RUNTIME DESTINATION bin # 可执行文件安装路径
  58. PUBLIC_HEADER DESTINATION include # 头文件安装路径
  59. )