vtk_module_third_party(
  INTERNAL
    LICENSE_FILES "vtkjsoncpp/LICENSE"
    VERSION       "1.8.4"
    STANDARD_INCLUDE_DIRS
  EXTERNAL
    PACKAGE JsonCpp
    VERSION 0.7.0
    TARGETS JsonCpp::JsonCpp
    STANDARD_INCLUDE_DIRS)

if (VTK_MODULE_USE_EXTERNAL_vtkjsoncpp)
  if (EXISTS "${JsonCpp_INCLUDE_DIR}/json/json_forwards.h")
    set (JsonCpp_FORWARDING_HEADER_NAME "json_forwards.h")
  else ()
    set (JsonCpp_FORWARDING_HEADER_NAME "forwards.h")
  endif ()
endif ()

include(vtkDetectLibraryType)
vtk_detect_library_shared(vtkjsoncpp JsonCpp::JsonCpp)

set(VTK_JSONCPP_SHARED "${vtkjsoncpp_is_shared}")

configure_file(
  "${CMAKE_CURRENT_SOURCE_DIR}/vtk_jsoncpp.h.in"
  "${CMAKE_CURRENT_BINARY_DIR}/vtk_jsoncpp.h")
configure_file(
  "${CMAKE_CURRENT_SOURCE_DIR}/vtk_jsoncpp_fwd.h.in"
  "${CMAKE_CURRENT_BINARY_DIR}/vtk_jsoncpp_fwd.h")

vtk_module_install_headers(
  FILES "${CMAKE_CURRENT_BINARY_DIR}/vtk_jsoncpp.h"
        "${CMAKE_CURRENT_BINARY_DIR}/vtk_jsoncpp_fwd.h")
