1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73
|
cmake_minimum_required(VERSION 3.0.2)
project(image_transport)
find_package(catkin REQUIRED
COMPONENTS
message_filters
pluginlib
rosconsole
roscpp
roslib
sensor_msgs
)
find_package(Boost REQUIRED)
catkin_package(
INCLUDE_DIRS include
LIBRARIES ${PROJECT_NAME}
DEPENDS message_filters pluginlib rosconsole roscpp roslib sensor_msgs
)
include_directories(include ${catkin_INCLUDE_DIRS})
# Build libimage_transport
add_library(${PROJECT_NAME}
src/camera_common.cpp
src/camera_publisher.cpp
src/camera_subscriber.cpp
src/image_transport.cpp
src/publisher.cpp
src/single_subscriber_publisher.cpp
src/subscriber.cpp
)
add_dependencies(${PROJECT_NAME} ${catkin_EXPORTED_TARGETS})
set_target_properties(${PROJECT_NAME} PROPERTIES VERSION ${image_transport_VERSION} SOVERSION "0d")
target_link_libraries(${PROJECT_NAME}
${Boost_LIBRARIES}
${catkin_LIBRARIES}
)
# Build libimage_transport_plugins
add_library(${PROJECT_NAME}_plugins src/manifest.cpp src/raw_publisher.cpp)
target_link_libraries(${PROJECT_NAME}_plugins ${PROJECT_NAME})
# Install plugin DLL to ${CATKIN_PACKAGE_LIB_DESTINATION} according to the path in default_plugins.xml
install(TARGETS ${PROJECT_NAME} ${PROJECT_NAME}_plugins
ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
RUNTIME DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
COMPONENT main
)
install(DIRECTORY include/${PROJECT_NAME}/
DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}
)
# add two execs
add_executable(republish src/republish.cpp)
target_link_libraries(republish ${PROJECT_NAME})
add_executable(list_transports src/list_transports.cpp)
target_link_libraries(list_transports
${PROJECT_NAME}
${catkin_LIBRARIES}
)
install(TARGETS list_transports republish
DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
)
# add xml file
install(FILES default_plugins.xml
DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
)
|