123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116 |
- cmake_minimum_required(VERSION 2.8.3)
- project(rosbag_controller)
- find_package(catkin REQUIRED COMPONENTS
- rosbag_storage
- rosconsole
- roscpp
- rviz
- topic_tools
- xmlrpcpp
- )
- if(rviz_QT_VERSION VERSION_LESS "5")
- message(STATUS "Using Qt4 based on the rviz_QT_VERSION: ${rviz_QT_VERSION}")
- find_package(Qt4 ${rviz_QT_VERSION} EXACT REQUIRED QtCore QtGui)
- ## pull in all required include dirs, define QT_LIBRARIES, etc.
- include(${QT_USE_FILE})
- else()
- message(STATUS "Using Qt5 based on the rviz_QT_VERSION: ${rviz_QT_VERSION}")
- find_package(Qt5 ${rviz_QT_VERSION} EXACT REQUIRED Core Widgets)
- ## make target_link_libraries(${QT_LIBRARIES}) pull in all required dependencies
- set(QT_LIBRARIES Qt5::Widgets)
- endif()
- find_package(Boost REQUIRED COMPONENTS
- date_time
- filesystem
- program_options
- regex
- thread
- )
- find_package(BZip2 REQUIRED)
- find_package(yaml-cpp REQUIRED)
- include_directories(${catkin_INCLUDE_DIRS})
- link_directories(${catkin_LIBRARY_DIRS})
- ##include(${QT_USE_FILE})
- include_directories(${CMAKE_CURRENT_BINARY_DIR})
- add_definitions(-D_FILE_OFFSET_BITS=64)
- add_definitions(-DQT_NO_KEYWORDS)
- add_definitions(${QT_DEFINITIONS})
- set(CMAKE_CXX_FLAGS "-Wall -g -O0")
- set(SOURCE_FILES
- src/core/recorder.cpp
- )
- set(UI_FILES
- src/autoware_rosbag_plugin.cpp
- )
- set(FORM_FILES
- src/autoware_rosbag_plugin.ui
- )
- QT5_WRAP_CPP(QT_MOC_SRC_HPP
- src/autoware_rosbag_plugin.h
- )
- QT5_WRAP_UI(QT_FORMS_HPP
- ${FORM_FILES}
- )
- QT5_ADD_RESOURCES(QT_RESOURCES_CPP
- ${RESOURCE_FILES}
- )
- catkin_package(
- INCLUDE_DIRS
- LIBRARIES ${PROJECT_NAME}
- CATKIN_DEPENDS xmlrpcpp
- DEPENDS Boost
- )
- include_directories(SYSTEM
- ${BOOST_INCLUDE_DIRS}
- ${catkin_INCLUDE_DIRS}
- include
- )
- add_library(${PROJECT_NAME}
- ${QT_MOC_SRC_HPP}
- ${QT_FORMS_HPP}
- ${SOURCE_FILES}
- ${UI_FILES}
- ${QT_RESOURCES_CPP}
- )
- target_link_libraries(${PROJECT_NAME}
- ${QT_LIBRARIES}
- ${catkin_LIBRARIES}
- ${Boost_LIBRARIES}
- yaml-cpp
- rosbag
- )
- find_package(class_loader)
- class_loader_hide_library_symbols(${PROJECT_NAME})
- install(TARGETS ${PROJECT_NAME}
- ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
- LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
- RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
- )
- install(DIRECTORY include/${PROJECT_NAME}/
- DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}
- FILES_MATCHING PATTERN "*.h"
- )
- install(FILES plugin_description.xml
- DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
- )
|