1cmake_minimum_required(VERSION 2.8.3)
4## Find catkin macros and libraries
5## if COMPONENTS list like find_package(catkin REQUIRED COMPONENTS xyz)
6## is used, also find other catkin packages
7find_package(catkin REQUIRED COMPONENTS image_transport roscpp std_msgs std_srvs sensor_msgs camera_info_manager cv_bridge)
9#find_package(CUDA REQUIRED)
10find_package(Boost 1.54 REQUIRED COMPONENTS system thread)
12## pkg-config libraries
13find_package(PkgConfig REQUIRED)
14pkg_check_modules(avcodec libavcodec REQUIRED)
15pkg_check_modules(swscale libswscale REQUIRED)
17SET(CMAKE_CXX_FLAGS
"${CMAKE_CXX_FLAGS} --std=c++11 -O2 -fopenmp -mavx2 -fPIC")
19###################################################
20## Declare things to be passed to other projects ##
21###################################################
23## LIBRARIES: libraries you create in this project that dependent projects also need
24## CATKIN_DEPENDS: catkin_packages dependent projects also need
25## DEPENDS: system dependencies of this project that dependent projects also need
29 LIBRARIES ${PROJECT_NAME}
37 /usr/local/
apollo/jsoncpp/lib
38 /usr/local/
apollo/adv_plat/lib
42include_directories(include
44 ${catkin_INCLUDE_DIRS}
45 ${avcodec_INCLUDE_DIRS}
46 ${swscale_INCLUDE_DIRS}
49# Build the USB camera library
50add_library(${PROJECT_NAME} src/usb_cam.cpp)
51target_link_libraries(${PROJECT_NAME}
61## Build the USB camera nodelet
62add_library(${PROJECT_NAME}_nodelet nodes/usb_cam_nodelet.cpp nodes/usb_cam_wrapper.cpp)
63target_link_libraries(${PROJECT_NAME}_nodelet
73## Declare USB camera cpp executable
74add_executable(${PROJECT_NAME}_node nodes/usb_cam_node.cpp nodes/usb_cam_wrapper.cpp)
75target_link_libraries(${PROJECT_NAME}_node
89## Mark executables and/or libraries
for installation
90install(TARGETS ${PROJECT_NAME} ${PROJECT_NAME}_node ${PROJECT_NAME}_nodelet
91 RUNTIME
DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
92 ARCHIVE
DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
93 LIBRARY
DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
97install(DIRECTORY launch/
98 DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}/launch
99 FILES_MATCHING PATTERN
"*.launch"
104 DIRECTORY /usr/local/
apollo/jsoncpp/lib
105 DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}/..
106 FILES_MATCHING PATTERN
"*.so*"
109install(DIRECTORY params/
110 DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}/params
111 FILES_MATCHING PATTERN
"*.yaml"
114install(FILES nodelets.xml
115 DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
118install(DIRECTORY include/${PROJECT_NAME}/
120 FILES_MATCHING PATTERN
"*.h" PATTERN
"*.hpp"