# *** MorphoGraphX add-on CMake file
Set(ADDON MGX2R)  # 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(...)
  # *** Required packages
  Find_Package(R REQUIRED)
  Find_Package(RInside REQUIRED)
  If(R_FOUND)
    If(RINSIDE_FOUND)
      Include_Directories(
        ${MGX_SOURCE_PATH} ${MGX_BINARY_PATH}
        ${RINSIDEINCL} 
        ${RCPPINCL}
        ${R_INCLUDE_DIR}
        )
      Include_Directories(
        SYSTEM ${MGXViewer_SOURCE_PATH}
      )
    
      # Header files
      Set(${ADDON}_HDRS
        RProcesses.hpp
        )
    
      # Source files
      Set(${ADDON}_SRCS
        RProcesses.cpp
        )
    
      Add_Library(mgxU${ADDON} SHARED ${${ADDON}_SRCS} ${${ADDON}_DIR}/${ADDON}Icons.qrc)
      Set_Target_Properties(mgxU${ADDON} PROPERTIES PUBLIC_HEADER "${${ADDON}_HDRS}"    PREFIX "" BUILD_WITH_INSTALL_RPATH TRUE)
    
      Target_Link_Libraries(mgxU${ADDON} Qt5::Widgets Qt5::OpenGL Qt5::Xml libQt5Svg.so)
    
      target_link_libraries(mgxU${ADDON} ${BLAS_LIBRARY})
      target_link_libraries(mgxU${ADDON} ${LAPACK_LIBRARY})
      target_link_libraries(mgxU${ADDON} ${QT_LIBRARIES})
      target_link_libraries(mgxU${ADDON} ${RCPPLIBS_L})
      target_link_libraries(mgxU${ADDON} ${R_LIBRARY_BASE})
      target_link_libraries(mgxU${ADDON} ${RINSIDELIBS})

      If(WIN32)
        Install(TARGETS mgxU${ADDON} RUNTIME DESTINATION ${MGX_PROCESS_DIR}
	        COMPONENT MGXU${ADDON})
      Else()
        Install(TARGETS mgxU${ADDON}
	        DESTINATION ${MGX_PROCESS_DIR} COMPONENT MGXU${ADDON}
		PUBLIC_HEADER DESTINATION ${MGX_PROCESS_INCLUDE_DIR} COMPONENT MGXU${ADDON})
      EndIf()
    Else(RINSIDE_FOUND)
      message(STATUS "Addon " ${ADDON} " requires RInside")
    Endif(RINSIDE_FOUND)
  Else(R_FOUND)
    message(STATUS "Addon " ${ADDON} " requires R")
  EndIf(R_FOUND)
EndIf(BUILD_${ADDON})
