set(HEADERS_fem
  ${CMAKE_CURRENT_SOURCE_DIR}/Constant.h
  ${CMAKE_CURRENT_SOURCE_DIR}/CoordinateElement.h
  ${CMAKE_CURRENT_SOURCE_DIR}/DirichletBC.h
  ${CMAKE_CURRENT_SOURCE_DIR}/DofMap.h
  ${CMAKE_CURRENT_SOURCE_DIR}/ElementDofLayout.h
  ${CMAKE_CURRENT_SOURCE_DIR}/Expression.h
  ${CMAKE_CURRENT_SOURCE_DIR}/FiniteElement.h
  ${CMAKE_CURRENT_SOURCE_DIR}/Form.h
  ${CMAKE_CURRENT_SOURCE_DIR}/Function.h
  ${CMAKE_CURRENT_SOURCE_DIR}/FunctionSpace.h
  ${CMAKE_CURRENT_SOURCE_DIR}/assembler.h
  ${CMAKE_CURRENT_SOURCE_DIR}/assemble_matrix_impl.h
  ${CMAKE_CURRENT_SOURCE_DIR}/assemble_scalar_impl.h
  ${CMAKE_CURRENT_SOURCE_DIR}/assemble_vector_impl.h
  ${CMAKE_CURRENT_SOURCE_DIR}/discreteoperators.h
  ${CMAKE_CURRENT_SOURCE_DIR}/dofmapbuilder.h
  ${CMAKE_CURRENT_SOURCE_DIR}/dolfin_fem.h
  ${CMAKE_CURRENT_SOURCE_DIR}/interpolate.h
  ${CMAKE_CURRENT_SOURCE_DIR}/petsc.h
  ${CMAKE_CURRENT_SOURCE_DIR}/sparsitybuild.h
  ${CMAKE_CURRENT_SOURCE_DIR}/utils.h
  PARENT_SCOPE)

target_sources(dolfinx PRIVATE
  ${CMAKE_CURRENT_SOURCE_DIR}/DirichletBC.cpp
  ${CMAKE_CURRENT_SOURCE_DIR}/CoordinateElement.cpp
  ${CMAKE_CURRENT_SOURCE_DIR}/DofMap.cpp
  ${CMAKE_CURRENT_SOURCE_DIR}/ElementDofLayout.cpp
  ${CMAKE_CURRENT_SOURCE_DIR}/FiniteElement.cpp
  ${CMAKE_CURRENT_SOURCE_DIR}/FunctionSpace.cpp
  ${CMAKE_CURRENT_SOURCE_DIR}/dofmapbuilder.cpp
  ${CMAKE_CURRENT_SOURCE_DIR}/interpolate.cpp
  ${CMAKE_CURRENT_SOURCE_DIR}/petsc.cpp
  ${CMAKE_CURRENT_SOURCE_DIR}/sparsitybuild.cpp
  ${CMAKE_CURRENT_SOURCE_DIR}/utils.cpp
)
