cmake_minimum_required(VERSION 2.8.3)
project(utils_clustering)

find_package(catkin REQUIRED COMPONENTS utils_random utils_generic utils_general)

find_package(OpenCV REQUIRED)

catkin_package(
    INCLUDE_DIRS include
    CATKIN_DEPENDS utils_generic utils_random
)

include_directories(
    include
    ${catkin_INCLUDE_DIRS}
)


set (LibClustering
    include/utils_clustering/Cluster.hpp
    include/utils_clustering/Clustering.h
    include/utils_clustering/ClusteringAlgorithm.hpp
    include/utils_clustering/DataStructure.hpp
    include/utils_clustering/DataDense.hpp
    include/utils_clustering/DataSparse.hpp
    include/utils_clustering/Distance.hpp
    include/utils_clustering/InitializationRandom.hpp
    include/utils_clustering/InitializationPlusPlus.hpp
    include/utils_clustering/Traits.hpp
    include/utils_clustering/Vector.hpp
)
add_custom_target(utils_clustering SOURCES ${LibClustering})

add_executable (KMeansTest src/KMeansTest.cpp)
target_link_libraries (KMeansTest
    ${OpenCV_LIBS}
    Random
    LibUtil
)

add_executable (EMaxTest src/EMaxTest.cpp)
target_link_libraries (EMaxTest
    ${OpenCV_LIBS}
    Random
    LibUtil
)

install(DIRECTORY include/${PROJECT_NAME}/
        DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION})

