cmake_minimum_required(VERSION 2.8.3)

project(boson_camera)

#find_package(catkin_simple REQUIRED)
find_package(catkin REQUIRED COMPONENTS cv_bridge image_transport sensor_msgs roscpp camera_info_manager dynamic_reconfigure)

#catkin_simple(ALL_DEPS_REQUIRED)

SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -O3")

find_package(OpenCV REQUIRED)

set(SRC_FOLDER src)
set(INC_FOLDER include)
set(LIB_FOLDER lib)

set(SOURCE_FILES
        ${SRC_FOLDER}/boson_camera.cpp
        ${SRC_FOLDER}/boson_ros_node.cpp
        ${INC_FOLDER}/Client_API.c
        ${INC_FOLDER}/Client_Dispatcher.c
        ${INC_FOLDER}/Client_Packager.c
        ${INC_FOLDER}/Serializer_BuiltIn.c
        ${INC_FOLDER}/Serializer_Struct.c
        ${INC_FOLDER}/UART_Connector.c
        ${LIB_FOLDER}/HostBinaryProtocol.c
        ${LIB_FOLDER}/flirChannels.c
        ${LIB_FOLDER}/flirCRC.c
        ${LIB_FOLDER}/rs232.c)


# Dynamic reconfigure option, as to be placed right before catkin_package
generate_dynamic_reconfigure_options(
    config/boson_camera.cfg
    )
catkin_package(
  INCLUDE_DIRS include
  CATKIN_DEPENDS dynamic_reconfigure
)

include_directories(
  include
  ${catkin_INCLUDE_DIRS}
)
add_executable(boson_camera ${SOURCE_FILES})

add_dependencies(boson_camera boson_camera_gencfg)

target_link_libraries(${PROJECT_NAME}
        ${catkin_LIBRARIES}
        ${OpenCV_LIBRARIES}
        )

#cs_install()
#cs_export()