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

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

add_library(smtkXMSMesh ${xmsSrcs})

target_compile_definitions(smtkXMSMesh PRIVATE "BOOST_ALL_NO_LIB")

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
    ${xms_namespace}xmscore${xms_suffix}
    ${xms_namespace}xmsgrid${xms_suffix}
    ${xms_namespace}xmsinterp${xms_suffix}
    ${xms_namespace}xmsmesh${xms_suffix}
  LINK_PRIVATE
    ${__dependencies}
)

#target_include_directories(smtkXMSMesh
#  PUBLIC
#  ${XMS_INCLUDE_DIRS}
#)

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_compile_definitions(smtkXMSMeshPlugin PRIVATE "BOOST_ALL_NO_LIB")

target_link_libraries(smtkXMSMeshPlugin
  LINK_PUBLIC
  smtkCore
  ${Boost_LIBRARIES}
  smtkXMSMesh
  )
endif()
