set(truchas_sources
  utility/MaterialAttributeUtils.cxx
  utility/ModelUtils.cxx
  Registrar.cxx
)

set(truchas_headers
  utility/MaterialAttributeUtils.h
  utility/ModelUtils.h
  Registrar.h
)


add_library(smtkTruchas ${truchas_sources})

target_link_libraries(smtkTruchas
  LINK_PUBLIC
    smtkCore
    ${__dependencies}
)

target_include_directories(smtkTruchas
  PUBLIC
    $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}>
    $<BUILD_INTERFACE:${PROJECT_BINARY_DIR}>
    $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME}/${PROJECT_VERSION}>
  PRIVATE
    ${Boost_INCLUDE_DIRS}
)

generate_export_header(smtkTruchas EXPORT_FILE_NAME Exports.h)

smtk_get_kit_name(name dir_prefix)

# Install the header files
install(
  FILES
    ${truchas_headers}
    ${CMAKE_CURRENT_BINARY_DIR}/Exports.h
  DESTINATION
    ${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME}/${PROJECT_VERSION}/${dir_prefix})

# Install the library and exports
install(
  TARGETS smtkTruchas
  EXPORT  ${PROJECT_NAME}
  ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
  LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
  RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
  PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME}/${PROJECT_VERSION}/${dir_prefix})

add_subdirectory(pybind11)

if (ParaView_FOUND AND Qt5_FOUND AND TARGET smtkQtExt)
  add_subdirectory(qt)
endif()

if (ENABLE_TESTING)
  add_subdirectory(testing)
endif()

if (Qt5_FOUND AND BUILD_EXAMPLES)
  add_subdirectory(examples)
endif()
