PROJECT(ITKEXPAT)
INCLUDE_REGULAR_EXPRESSION("^(expat|xml|ascii|utf|name|iascii|latin|itk).*$")

SET(expat_SRCS
  xmlparse.c
  xmltok.c
  xmlrole.c
)

INCLUDE_DIRECTORIES(BEFORE ${ITKEXPAT_SOURCE_DIR})
INCLUDE_DIRECTORIES(BEFORE ${ITKEXPAT_BINARY_DIR})

IF(WIN32)
  IF(NOT BUILD_SHARED_LIBS)
    SET (ITK_EXPAT_STATIC 1)
  ENDIF(NOT BUILD_SHARED_LIBS)
ENDIF(WIN32)

CONFIGURE_FILE(${ITKEXPAT_SOURCE_DIR}/expatConfig.h.in
               ${ITKEXPAT_BINARY_DIR}/expatConfig.h)
CONFIGURE_FILE(${ITKEXPAT_SOURCE_DIR}/expatDllConfig.h.in
               ${ITKEXPAT_BINARY_DIR}/expatDllConfig.h)
CONFIGURE_FILE(${ITKEXPAT_SOURCE_DIR}/.NoDartCoverage
               ${ITKEXPAT_BINARY_DIR}/.NoDartCoverage)

ADD_LIBRARY(ITKEXPAT ${expat_SRCS})

# Apply user-defined properties to the library target.
IF(ITK_LIBRARY_PROPERTIES)
  SET_TARGET_PROPERTIES(ITKEXPAT PROPERTIES ${ITK_LIBRARY_PROPERTIES})
ENDIF(ITK_LIBRARY_PROPERTIES)

IF(NOT ITK_INSTALL_NO_LIBRARIES)
  INSTALL(TARGETS ITKEXPAT
    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)
  INSTALL(FILES
    ${ITKEXPAT_BINARY_DIR}/expatDllConfig.h
    ${ITKEXPAT_SOURCE_DIR}/expat.h
    DESTINATION ${ITK_INSTALL_INCLUDE_DIR_CM24}/Utilities/expat
    COMPONENT Development)
ENDIF(NOT ITK_INSTALL_NO_DEVELOPMENT)
