cmake_minimum_required(VERSION 2.8.3)
project(sick14)

set(CMAKE_BUILD_TYPE Release)
add_definitions(-O3 -march=native)

find_package(catkin REQUIRED COMPONENTS
    csapex
    csapex_vision
    csapex_transform
    csapex_ros
    csapex_core_plugins
    cmake_modules
    sick_msgs
    csapex_scan_2d
    utils_cv
    utils_vision
    utils_general
)
find_package(Eigen REQUIRED)
include_directories(${EIGEN_INCLUDE_DIRS})


catkin_package(
  INCLUDE_DIRS include
  LIBRARIES sick14_core
)

ADD_DEFINITIONS(-DQT_NO_KEYWORDS)

###########
## Build ##
###########

include_directories(
  include
  ${catkin_INCLUDE_DIRS}
)

add_library(sick14_core
  src/target_message.cpp
  src/cross_message.cpp
)

add_library(sick14
    src/register_plugin.cpp
    src/mask_image_from_scan_node.cpp
    src/imagereprojector.cpp
    src/target_finder/target_finder.cpp
    src/target_finder/region_finder.cpp
    src/target_finder/cross_detection.cpp
    src/target_finder/histogram_normalization.cpp
)

target_link_libraries(sick14
  sick14_core ${catkin_LIBRARIES}
)


#
# INSTALL
#

install(FILES plugins.xml
        DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION})

install(TARGETS sick14
        ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
        LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
        RUNTIME DESTINATION ${CATKIN_GLOBAL_BIN_DESTINATION})
