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}
)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)