set(xmsSrcs
  ElementSizing.cxx
  ExportModel.cxx
  ImportXMSMesh.cxx
  RefinementSources.cxx
  Registrar.cxx
  operators/GenerateMesh.cxx
)

set(xmsHeaders
  EdgeMap.h
  ElementSizing.h
  ExportModel.h
  ImportXMSMesh.h
  RefinementSources.h
  Registrar.h
  operators/GenerateMesh.h
)

add_library(smtkXMSMesh ${xmsSrcs})

set(xms_namespace "CONAN_PKG::")
set(xms_suffix)
if (DEFINED ENV{CONDA_BUILD})
    set(xms_namespace)
    set(xms_suffix "lib")
endif()

target_link_libraries(smtkXMSMesh
  LINK_PUBLIC
    smtkCore
  LINK_PRIVATE
    ${xms_namespace}xmscore${xms_suffix}
    ${xms_namespace}xmsgrid${xms_suffix}
    ${xms_namespace}xmsinterp${xms_suffix}
    ${xms_namespace}xmsmesher${xms_suffix}
    ${__dependencies}
)

install(
  TARGETS smtkXMSMesh
  EXPORT  xms_smtk
  ARCHIVE DESTINATION lib
  LIBRARY DESTINATION lib
  RUNTIME DESTINATION bin)

smtk_export_header(smtkXMSMesh Exports.h)

smtk_operation_xml("${CMAKE_CURRENT_SOURCE_DIR}/operators/GenerateMesh.sbt"
  xmsOperatorXML)

if(ENABLE_PYTHON_WRAPPING)

  add_subdirectory(pybind11)

endif()

if (TARGET smtkPluginSupport)

  include(SMTKPluginMacros)

  add_smtk_plugin(
    smtkXMSMeshPlugin "1.0"
    REGISTRAR smtk::mesh::xms::Registrar
    REGISTRAR_HEADER smtk/mesh/xms/Registrar.h
    MANAGERS smtk::operation::Manager)

target_link_libraries(smtkXMSMeshPlugin
  LINK_PUBLIC
  smtkCore
  smtkXMSMesh
  )

install(
  TARGETS smtkXMSMeshPlugin
  EXPORT  xms_smtk
  ARCHIVE DESTINATION lib
  LIBRARY DESTINATION lib
  RUNTIME DESTINATION bin)

endif()
