# 定义cmake的最低版本 cmake_minimum_required(VERSION 3.5) # 定义工程名称 project(MeasurementNode VERSION 1.0.0.0) # 指定安装目录 SET (CMAKE_INSTALL_PREFIX ${PROJECT_SOURCE_DIR}/out ) # 打印工程定级目录(非必要) message("project path: " ${PROJECT_SOURCE_DIR}) include_directories( ${PROJECT_SOURCE_DIR}/Modules/DataToCloud/device ${PROJECT_SOURCE_DIR}/Modules/DataToCloud/service ${PROJECT_SOURCE_DIR}/Modules/DataToCloud/conversion ${PROJECT_SOURCE_DIR}/tool ) # 第三方库 find_path(YAML_CPP_INCLUDE_DIR NAMES yaml_cpp.h PATHS ${YAML_CPP_INCLUDE_DIRS}) find_library(YAML_CPP_LIBRARY NAMES YAML_CPP PATHS ${YAML_CPP_LIBRARY_DIRS}) if(NOT ${YAML_CPP_VERSION} VERSION_LESS "0.5") add_definitions(-DHAVE_NEW_YAMLCPP) endif(NOT ${YAML_CPP_VERSION} VERSION_LESS "0.5") add_subdirectory(thirdpart/rs_driver) FIND_PACKAGE(PCL REQUIRED) FIND_PACKAGE(OpenCV REQUIRED) FIND_PACKAGE(rs_driver REQUIRED) FIND_PACKAGE(Eigen3 REQUIRED) FIND_PACKAGE(Protobuf REQUIRED) # 添加子目录CMAKE add_subdirectory(thirdpart) # 模块 add_subdirectory(tool) # add_subdirectory(Modules/DataToCloud/service) # 模块 add_subdirectory(Modules/DataToCloud/conversion) # 模块 add_subdirectory(Modules/DataToCloud/device) # 模块 # 将./src 下的所有文件名保存到DIR_SRCS变量 aux_source_directory(. DIR_SRCS) # 编译时打印 message("-- add " ${DIR_SRCS}) # 生成可执行文件 add_executable(MeasurementNode ${DIR_SRCS}) # 添加链接静态库 target_link_libraries(MeasurementNode libdevice libconversion libpahoc libtool -lpthread ) # 将库文件,可执行文件,头文件安装到指定目录 install(TARGETS MeasurementNode LIBRARY DESTINATION lib # 动态库安装路径 ARCHIVE DESTINATION lib # 静态库安装路径 RUNTIME DESTINATION bin # 可执行文件安装路径 PUBLIC_HEADER DESTINATION include # 头文件安装路径 )