#-----------------------------------------------------------------------------
# OpenFOAM reader plugin for ParaView GUI (pre-5.7)

# Predefined values from CMakeLists-library.txt
link_directories(${OPENFOAM_LINK_DIRS})
include_directories(${OPENFOAM_INCLUDE_DIRS})


# NOTE: do not use CMAKE_INSTALL_LIBDIR here
# OpenFOAM uses lib (not lib64, or lib/multi-arch)


qt5_wrap_cpp(MOC_SRCS plugin/pqFoamReaderControls.h)

add_paraview_property_group_widget(IFACES0 IFACES0_SRCS
    TYPE "openfoam_reader_general_controls"
    CLASS_NAME pqFoamReaderControls
)

add_paraview_plugin(
    ${CMAKE_PROJECT_NAME} "${foam_api}"
    SERVER_MANAGER_XML
        plugin/ParaFoamReader.xml
    SERVER_MANAGER_SOURCES
        plugin/reader/vtkPVFoamReader.cxx
    GUI_INTERFACES
        ${IFACES0}
    SOURCES
        ${IFACES0_SRCS}
        ${MOC_SRCS}
        plugin/pqFoamReaderControls.cxx
)

target_link_libraries(
    ${CMAKE_PROJECT_NAME}
    LINK_PUBLIC
    ${OPENFOAM_LIBNAMES}
    ${SUPPORTING_LIBNAMES}
)

set(PLUGIN_DIRNAME "paraview-${pv_api}")

# Compile directly into plugin directories
## # Set output library destination to plugin directory
## set(
##     LIBRARY_OUTPUT_DIRECTORY $ENV{FOAM_PV_PLUGIN_LIBBIN}
##     CACHE INTERNAL
##     "Single output directory for building all libraries."
## )
##
## set_target_properties(
##     ${CMAKE_PROJECT_NAME}
##     PROPERTIES
##     LIBRARY_OUTPUT_DIRECTORY "$ENV{FOAM_PV_PLUGIN_LIBBIN}"
## )

# Use install target
install(TARGETS ${CMAKE_PROJECT_NAME} DESTINATION "lib/${PLUGIN_DIRNAME}")

#-----------------------------------------------------------------------------
