SET(HEADER_FILES
  Pointer.h
  SchemaValidator.h
  URI.h
  )
SET(SOURCE_FILES
  Pointer.cc
  SchemaValidator.cc
  URI.cc
  meta-schema.cc
  )

LINK_DIRECTORIES(${JSONCPP_LIBRARY_DIRS} ${PCRECPP_LIBRARY_DIRS})

ADD_CUSTOM_TARGET(update_meta_schema
  COMMAND sh ${CMAKE_CURRENT_SOURCE_DIR}/convert-meta-schema.sh ${CMAKE_CURRENT_SOURCE_DIR}/meta-schema.json ${CMAKE_CURRENT_SOURCE_DIR}/meta-schema.cc
  DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/meta-schema.json ${CMAKE_CURRENT_SOURCE_DIR}/convert-meta-schema.sh
  )

FOREACH(HEADER_FILE ${HEADER_FILES})
  INSTALL(FILES ${HEADER_FILE} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/json)
ENDFOREACH()

INCLUDE_DIRECTORIES(${JSONCPP_INCLUDE_DIRS} ${PCRECPP_INCLUDE_DIRS} ${CMAKE_CURRENT_SOURCE_DIR}/..)

ADD_LIBRARY(json-schema ${SOURCE_FILES})
SET_TARGET_PROPERTIES(json-schema PROPERTIES VERSION 1.1 SOVERSION 1)
TARGET_LINK_LIBRARIES(json-schema ${JSONCPP_LIBRARIES} ${PCRECPP_LIBRARIES})
INSTALL(TARGETS json-schema
  RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
  ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
  LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})

