IF(VTK_VERSION)
  SET(METAIO_FOR_VTK 1)
  MARK_AS_ADVANCED( METAIO_FOR_VTK )
  SET(METAIO_NAMESPACE "vtkmetaio")
ELSE(VTK_VERSION)
  SET(METAIO_FOR_ITK 1)
  MARK_AS_ADVANCED( METAIO_FOR_ITK )
  SET(METAIO_NAMESPACE "ITKMetaIO")

  IF(ITK_USE_LIBXML2)
    ADD_DEFINITIONS(-DMETAIO_USE_LIBXML2)
    INCLUDE_DIRECTORIES(${ITK_LIBXML2_INCLUDE_DIR})
  ENDIF(ITK_USE_LIBXML2)

ENDIF(VTK_VERSION)

PROJECT( ${METAIO_NAMESPACE} )

INCLUDE_DIRECTORIES(${${METAIO_NAMESPACE}_SOURCE_DIR})

ADD_LIBRARY(${METAIO_NAMESPACE}
  metaTypes.h
  metaUtils.cxx
  metaArrow.cxx
  metaBlob.cxx
  metaCommand.h
  metaCommand.cxx
  metaContour.h
  metaContour.cxx
  metaDTITube.cxx
  metaEllipse.cxx
  metaGroup.cxx
  metaGaussian.cxx
  metaImage.cxx
  metaImageUtils.cxx
  metaLandmark.cxx
  metaLine.cxx
  metaMesh.cxx
  metaMesh.h
  metaObject.cxx
  metaOutput.h
  metaOutput.cxx
  metaScene.cxx
  metaSurface.cxx
  metaTube.cxx
  metaVesselTube.cxx
  metaTransform.cxx
  metaTubeGraph.cxx
  metaForm.h
  metaForm.cxx
  metaArray.h
  metaArray.cxx
)

INCLUDE_REGULAR_EXPRESSION("^.*$")

IF(METAIO_FOR_VTK)
  IF(BUILD_SHARED_LIBS)
    ADD_DEFINITIONS(-Dvtkmetaio_BUILD_SHARED_LIBS)
  ENDIF(BUILD_SHARED_LIBS)
  TARGET_LINK_LIBRARIES(${METAIO_NAMESPACE} ${VTK_ZLIB_LIBRARIES}
                                            ${KWSYS_NAMESPACE})
  IF(VTK_LIBRARY_PROPERTIES)
    SET_TARGET_PROPERTIES(${METAIO_NAMESPACE} 
                          PROPERTIES ${VTK_LIBRARY_PROPERTIES})
  ENDIF(VTK_LIBRARY_PROPERTIES)
ELSE(METAIO_FOR_VTK)
  IF(METAIO_FOR_ITK)
    TARGET_LINK_LIBRARIES(${METAIO_NAMESPACE} ${ITK_ZLIB_LIBRARIES} 
                                              ${KWSYS_NAMESPACE})
    IF(ITK_USE_LIBXML2)    
      TARGET_LINK_LIBRARIES(${METAIO_NAMESPACE} ${ITK_LIBXML2_LIBRARIES})
    ENDIF(ITK_USE_LIBXML2)   

    IF(ITK_LIBRARY_PROPERTIES)
      SET_TARGET_PROPERTIES(${METAIO_NAMESPACE} 
                            PROPERTIES ${ITK_LIBRARY_PROPERTIES})
    ENDIF(ITK_LIBRARY_PROPERTIES)
  ELSE(METAIO_FOR_ITK)
    TARGET_LINK_LIBRARIES(${METAIO_NAMESPACE} ${ZLIB_LIBRARIES}
                                              ${KWSYS_NAMESPACE})
  ENDIF(METAIO_FOR_ITK)
ENDIF(METAIO_FOR_VTK)

IF(WIN32)
  IF(BORLAND)
    TARGET_LINK_LIBRARIES(${METAIO_NAMESPACE} import32)
  ELSE(BORLAND)
    TARGET_LINK_LIBRARIES(${METAIO_NAMESPACE} comctl32 wsock32)
  ENDIF(BORLAND)
ENDIF(WIN32)


#SUBDIRS(tests)

IF(METAIO_FOR_VTK)
  IF(NOT VTK_INSTALL_NO_LIBRARIES)
    INSTALL(TARGETS ${METAIO_NAMESPACE}
            RUNTIME DESTINATION ${VTK_INSTALL_BIN_DIR_CM24} 
                    COMPONENT RuntimeLibraries
            LIBRARY DESTINATION ${VTK_INSTALL_LIB_DIR_CM24} 
                    COMPONENT RuntimeLibraries
            ARCHIVE DESTINATION ${VTK_INSTALL_LIB_DIR_CM24} 
                    COMPONENT Development
            )
  ENDIF(NOT VTK_INSTALL_NO_LIBRARIES)
  IF(NOT VTK_INSTALL_NO_DEVELOPMENT)
    FILE(GLOB __files "${CMAKE_CURRENT_SOURCE_DIR}/*.h")
    INSTALL(FILES ${__files}
                  DESTINATION ${VTK_INSTALL_INCLUDE_DIR_CM24}/vtkmetaio
                  COMPONENT Development)
  ENDIF(NOT VTK_INSTALL_NO_DEVELOPMENT)
ELSE(METAIO_FOR_VTK)
  IF(METAIO_FOR_ITK)
    IF(NOT ITK_INSTALL_NO_LIBRARIES)
      INSTALL(TARGETS ${METAIO_NAMESPACE}
              RUNTIME DESTINATION ${ITK_INSTALL_BIN_DIR_CM24} 
                      COMPONENT RuntimeLibraries
              LIBRARY DESTINATION ${ITK_INSTALL_LIB_DIR_CM24} 
                      COMPONENT RuntimeLibraries
              ARCHIVE DESTINATION ${ITK_INSTALL_LIB_DIR_CM24} 
                      COMPONENT Development
              )
    ENDIF(NOT ITK_INSTALL_NO_LIBRARIES)
    IF(NOT ITK_INSTALL_NO_DEVELOPMENT)
      FILE(GLOB __files "${CMAKE_CURRENT_SOURCE_DIR}/*.h")
      INSTALL(FILES ${__files}
              DESTINATION ${ITK_INSTALL_INCLUDE_DIR_CM24}/Utilities/MetaIO
                          COMPONENT Development)
    ENDIF(NOT ITK_INSTALL_NO_DEVELOPMENT)
  ELSE(METAIO_FOR_ITK)
    STRING(REGEX REPLACE "^/" "" INSTALL_LIB_DIR_CM24 "${INSTALL_LIB_DIR}")
    STRING(REGEX REPLACE "^/" "" INSTALL_BIN_DIR_CM24 "${INSTALL_BIN_DIR}")
    STRING(REGEX REPLACE "^/" "" INSTALL_INCLUDE_DIR_CM24 
           "${INSTALL_INCLUDE_DIR}")
    INSTALL(TARGETS ${METAIO_NAMESPACE}
            RUNTIME DESTINATION ${INSTALL_BIN_DIR_CM24} 
                    COMPONENT RuntimeLibraries
            LIBRARY DESTINATION ${INSTALL_LIB_DIR_CM24} 
                    COMPONENT RuntimeLibraries
            ARCHIVE DESTINATION ${INSTALL_LIB_DIR_CM24} 
                    COMPONENT Development
            )
    FILE(GLOB __files "${CMAKE_CURRENT_SOURCE_DIR}/*.h")
    INSTALL(FILES ${__files}
                  DESTINATION ${INSTALL_INCLUDE_DIR_CM24}/kwMetaIO
                  COMPONENT Development)
  ENDIF(METAIO_FOR_ITK)
ENDIF(METAIO_FOR_VTK)



