# *** MorphoGraphX add-on CMake file
Set(ADDON CellAtlas)  # 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(...)

  Include_Directories(
    ${MGX_SOURCE_PATH} ${MGX_BINARY_PATH}
    )
  Include_Directories(
    SYSTEM ${MGXViewer_SOURCE_PATH}
  )

  # Header files
  Set(${ADDON}_HDRS
    CustomMouseLabel.hpp
    CellAtlasConfig.hpp
# these headers can't be public because CellAtlas references a private UI header
#    CellAtlas.hpp
#    CellAtlasMeristem.hpp
#    CellAtlasPrimordium.hpp
    CellAtlasUtils.hpp
    RootCellProcessing.hpp
    RootCellAnalyzing.hpp
    DataAnalyzer.hpp
    )

  # Source files
  Set(${ADDON}_SRCS
    CellAtlas.cpp
    CellAtlasMeristem.cpp
    CellAtlasPrimordium.cpp
    CellAtlasUtils.cpp
    CustomMouseLabel.cpp
    RootCellProcessing.cpp
    RootCellAnalyzing.cpp
    DataAnalyzer.cpp
    )

  Mgx_Add_Library(mgxU${ADDON} SHARED ${${ADDON}_SRCS} ${${ADDON}_DIR}/${ADDON}Icons.qrc)
  
  Target_Link_Libraries(mgxU${ADDON} mgx mgxBase)
  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()

#  Target_Link_Libraries(mgxU${ADDON} ... )

EndIf(BUILD_${ADDON})
