# *** MorphoGraphX add-on CMake file
Set(ADDON TypeRecognition)  # set to addon name
Set(${ADDON}_DIR ${MorphoGraphX_SOURCE_DIR}/AddOns/${ADDON})

Set(BUILD_${ADDON} FALSE CACHE BOOL "Check to build add-on ${ADDON}")
If(BUILD_${ADDON})
  Set(MGX_ADDONS ${MGX_ADDONS}-${ADDON} PARENT_SCOPE)

  # *** Required packages
  Find_Package(OpenCV REQUIRED)

  Include_Directories(
    ${MGX_SOURCE_PATH} ${MGX_BINARY_PATH}
    ${OpenCV_INCLUDE_DIRS}
    )
  Include_Directories(
    SYSTEM ${MGXViewer_SOURCE_PATH}
  )
    
  # Header files
  Set(${ADDON}_HDRS
    libsvm/svm.h
    CellCluster.hpp
    ClusterMap.hpp
    TypeRecognition.hpp
    SVMClassifier.hpp
    HistogramMaker.hpp
    CorrelationMaker.hpp
    CustomMouseLabelTR.hpp
    )

  # Source files
  Set(${ADDON}_SRCS
    #dlib/all/source.cpp
    libsvm/svm.cpp
    TypeRecognition.cpp
    ClusterMap.cpp
    SVMClassifier.cpp
    HistogramMaker.cpp
    CorrelationMaker.cpp
    CustomMouseLabelTR.cpp
    )

  Mgx_Add_Library(mgxU${ADDON} SHARED ${${ADDON}_SRCS} ${${ADDON}_DIR}/${ADDON}Icons.qrc)

  Target_Link_Libraries(mgxU${ADDON} mgx mgxBase
    Qt5::Widgets Qt5::OpenGL Qt5::Xml)
  If(WIN32)
    Set_Target_Properties(mgxU${ADDON} PROPERTIES
      PREFIX "")
    Install(TARGETS mgxU${ADDON}
      RUNTIME DESTINATION ${MGX_PROCESS_DIR} COMPONENT MGXU${ADDON})
  Else()
    Set_Target_Properties(mgxU${ADDON} PROPERTIES
      PUBLIC_HEADER "${${ADDON}_HDRS}"
      PREFIX "")
    Install(TARGETS mgxU${ADDON}
      DESTINATION ${MGX_PROCESS_DIR} COMPONENT MGXU${ADDON}
      PUBLIC_HEADER DESTINATION ${MGX_PROCESS_INCLUDE_DIR} COMPONENT MGXU${ADDON})
  EndIf()

EndIf(BUILD_${ADDON})
