# DO NOT EDIT THIS FILE! THIS FILE IS AUTOMATICALLY GENERATED BY xml2cmake
PROJECT(IDX_database)

INCLUDE(${VISIT_SOURCE_DIR}/CMake/PluginMacros.cmake)

SET(COMMON_SOURCES
IDXPluginInfo.C
IDXCommonPluginInfo.C
pidx_idx_io.cpp
uintah_utils.cpp
)

SET(LIBI_SOURCES 
IDXPluginInfo.C
)

SET(LIBM_SOURCES
IDXMDServerPluginInfo.C
${COMMON_SOURCES}
avtIDXFileFormat.C
avtIDXOptions.C
)

SET(LIBE_SOURCES
IDXEnginePluginInfo.C
${COMMON_SOURCES}
avtIDXFileFormat.C
avtIDXOptions.C
)

INCLUDE_DIRECTORIES(
${CMAKE_CURRENT_SOURCE_DIR}
${PIDX_INCLUDE_DIR}
${VISIT_INCLUDE_DIR}/avt/View
${VISIT_COMMON_INCLUDES}
${VISIT_INCLUDE_DIR}/avt/DBAtts/MetaData
${VISIT_INCLUDE_DIR}/avt/DBAtts/SIL
${VISIT_INCLUDE_DIR}/avt/Database/Database
${VISIT_INCLUDE_DIR}/avt/Database/Formats
${VISIT_INCLUDE_DIR}/avt/Database/Ghost
${VISIT_INCLUDE_DIR}/avt/FileWriter
${VISIT_INCLUDE_DIR}/avt/Filters
${VISIT_INCLUDE_DIR}/avt/MIR/Base
${VISIT_INCLUDE_DIR}/avt/MIR/Tet
${VISIT_INCLUDE_DIR}/avt/MIR/Zoo
${VISIT_INCLUDE_DIR}/avt/Math
${VISIT_INCLUDE_DIR}/avt/Pipeline/AbstractFilters
${VISIT_INCLUDE_DIR}/avt/Pipeline/Data
${VISIT_INCLUDE_DIR}/avt/Pipeline/Pipeline
${VISIT_INCLUDE_DIR}/avt/Pipeline/Sinks
${VISIT_INCLUDE_DIR}/avt/Pipeline/Sources
${VISIT_INCLUDE_DIR}/avt/VisWindow/VisWindow
${VISIT_INCLUDE_DIR}/visit_vtk/full
${VISIT_INCLUDE_DIR}/visit_vtk/lightweight
${EAVL_INCLUDE_DIR} 
${VTK_INCLUDE_DIRS} 
)

# Read pidx_config.h to see if we need to link MPI
FILE(STRINGS "${PIDX_INCLUDE_DIR}/PIDX_config.h" config)
LIST(FIND config "#define PIDX_HAVE_MPI 1" have_mpi)
IF (have_mpi GREATER 0)
  IF (NOT MPI_C_INCLUDE_PATH)
    FIND_PACKAGE(MPI REQUIRED)
  ENDIF()

  IF (MPI_C_INCLUDE_PATH)
    SET(PIDX_INCLUDE_DIR ${PIDX_INCLUDE_DIR} ${MPI_C_INCLUDE_PATH})
    SET(PIDX_MPI_LIBS ${MPI_C_LIBRARIES})
  ELSE()
    MESSAGE("PIDX was configured with MPI support, but we could not locate MPI on your system!")
  ENDIF()
ENDIF()  

SET(PIDX_LIBRARIES ${PIDX_LIBRARIES} ${PIDX_MPI_LIBS} zfp)
INCLUDE_DIRECTORIES(${PIDX_INCLUDE_DIR})

SET(PIDX_LIBRARY_DIR ${PIDX_DIR}/lib)
#message(${PIDX_LIBRARY_DIR})

LINK_DIRECTORIES(${VISIT_LIBRARY_DIR} ${EAVL_LIBRARY_DIR} ${PIDX_LIBRARY_DIR})

ADD_LIBRARY(IIDXDatabase ${LIBI_SOURCES})
TARGET_LINK_LIBRARIES(IIDXDatabase visitcommon)
SET(INSTALLTARGETS IIDXDatabase)

IF(NOT VISIT_ENGINE_ONLY AND NOT VISIT_DBIO_ONLY)
    ADD_LIBRARY(MIDXDatabase ${LIBM_SOURCES})
    TARGET_LINK_LIBRARIES(MIDXDatabase visitcommon avtdbatts avtdatabase_ser avtview ${PIDX_LIBRARIES} vtkIOXML)
    ADD_TARGET_DEFINITIONS(MIDXDatabase MDSERVER)
    SET(INSTALLTARGETS ${INSTALLTARGETS} MIDXDatabase)
ENDIF(NOT VISIT_ENGINE_ONLY AND NOT VISIT_DBIO_ONLY)

ADD_LIBRARY(EIDXDatabase_ser ${LIBE_SOURCES})
TARGET_LINK_LIBRARIES(EIDXDatabase_ser visitcommon avtdatabase_ser avtpipeline_ser avtview ${PIDX_LIBRARIES} vtkIOXML)
ADD_TARGET_DEFINITIONS(EIDXDatabase_ser ENGINE)
SET(INSTALLTARGETS ${INSTALLTARGETS} EIDXDatabase_ser)

IF(VISIT_PARALLEL)
    ADD_PARALLEL_LIBRARY(EIDXDatabase_par ${LIBE_SOURCES})
    TARGET_LINK_LIBRARIES(EIDXDatabase_par visitcommon avtdatabase_par avtpipeline_par avtview ${PIDX_LIBRARIES} vtkIOXML)
    ADD_TARGET_DEFINITIONS(EIDXDatabase_par ENGINE)
    SET(INSTALLTARGETS ${INSTALLTARGETS} EIDXDatabase_par)
ENDIF(VISIT_PARALLEL)

VISIT_INSTALL_DATABASE_PLUGINS(${INSTALLTARGETS})
VISIT_PLUGIN_TARGET_RTOD(databases ${INSTALLTARGETS})
VISIT_PLUGIN_TARGET_FOLDER(databases IDX ${INSTALLTARGETS})

