ROS CMakeLists 写法

SET(CMAKE_BUILD_TYPE "Debug")
SET(CMAKE_CXX_FLAGS_DEBUG "$ENV{CXXFLAGS} -O0 -Wall -g -ggdb")
SET(CMAKE_CXX_FLAGS_RELEASE "$ENV{CXXFLAGS} -O3 -Wall")

cmake_minimum_required(VERSION 2.8.3)
project(cam_lidar_calibration)
#set(OpenCV_DIR /opt/libs-x64/opencv440/lib/cmake/opencv4)
list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
# 依赖的ros包
find_package(catkin REQUIRED COMPONENTS nodelet 
	roscpp 
	std_msgs 
        pcl_conversions 
        pcl_ros
	image_transport
        cv_bridge
	sensor_msgs
        message_generation
        cmake_modules
        dynamic_reconfigure)
#opencv包
find_package(OpenCV  REQUIRED)
find_package(Boost REQUIRED COMPONENTS system)
find_package(Eigen REQUIRED)
## Setup include directories
#include_directories(/opt/libs-x64/opencv440/include/opencv4)
include_directories(
        ${catkin_INCLUDE_DIRS}
        include/${PROJECT_NAME}
        ${OpenCV_INCLUDE_DIRS}
        ${Eigen_INCLUDE_DIRS}
        src
)
AUX_SOURCE_DIRECTORY(src gSOURCE_FILES_)
add_message_files(
  FILES
  calibration_data.msg
  extrinsics.msg
)
generate_messages(
  DEPENDENCIES
  std_msgs
  sensor_msgs
)
generate_dynamic_reconfigure_options(
  cfg/bounds.cfg
)
catkin_package(
  CATKIN_DEPENDS nodelet 
	roscpp 
	std_msgs 
	sensor_msgs
        message_runtime 
  DEPENDS system_lib Eigen        
)

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
set(OpenCV_LIBS ${OpenCV_LIBRARIES})
MESSAGE(STATUS "The Opencv's include directory is:" ${OpenCV_INCLUDE_DIRS})
MESSAGE(STATUS "The Opencv's OpenCV_LIBS is:" ${OpenCV_LIBS})
add_executable(input_sample src/input_sample.cpp)
target_link_libraries(input_sample ${catkin_LIBRARIES})

add_executable(projector src/projector.cpp)
target_include_directories(projector PRIVATE
		include)
target_link_libraries(projector ${catkin_LIBRARIES} ${OpenCV_LIBS} ${Eigen_LIBRARIES})

## Create the nodelet tutorial library
#add_library(feature_extraction src/feature_extraction.cpp include/cam_lidar_calibration/projector.h )
add_library(feature_extraction  include/cam_lidar_calibration/projector.h  src/feature_extraction.cpp  src/ChessboradStruct.cpp
		src/corealgmatlab.cpp  src/CornerDetAC.cpp )
add_dependencies(feature_extraction ${PROJECT_NAME}_gencfg)

target_link_libraries(feature_extraction ${catkin_LIBRARIES} ${OpenCV_LIBS} ${Eigen_LIBRARIES})
if(catkin_EXPORTED_LIBRARIES)
  add_dependencies(feature_extraction ${catkin_EXPORTED_LIBRARIES})
endif()
# 安装代码的写法
install(TARGETS
        input_sample    #二进制
        projector     #二进制
        feature_extraction    #库文件 libfeature_extraction.so
        ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
        LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
        RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
        )
#  文件夹的拷贝
install(DIRECTORY launch/
        DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}/launch
        )
#  文件夹的拷贝
install(DIRECTORY rviz/
        DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}/rviz
        )
#  文件夹的拷贝
install(DIRECTORY cfg/
        DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}/cfg
        )
#  文件夹的拷贝
install(DIRECTORY images/
        DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}/images
        )
#  文件的拷贝
install(FILES nodelet_definition.xml
        DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
        )

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值