cmake_minimum_required(VERSION 3.16)

set(sources
    src/BilinearElementType.c
    src/BilinearElementType.h
    src/BilinearInnerElType.c
    src/BilinearInnerElType.h
    src/Biquadratic.c
    src/Biquadratic.h
    src/C0Generator.c
    src/C0Generator.h
    src/C2Generator.c
    src/C2Generator.h
    src/ConstantElementType.c
    src/ConstantElementType.h
    src/Discretisation.h
    src/dQ12DElementType.c
    src/dQ12DElementType.h
    src/dQ13DElementType.c
    src/dQ13DElementType.h
    src/dQ1Generator.c
    src/dQ1Generator.h
    src/Element.c
    src/Element.h
    src/ElementType.c
    src/ElementType.h
    src/ElementType_Register.c
    src/ElementType_Register.h
    src/FeEquationNumber.c
    src/FeEquationNumber.h
    src/FeMesh_Algorithms.c
    src/FeMesh_Algorithms.h
    src/FeMesh.c
    src/FeMesh_ElementType.c
    src/FeMesh_ElementType.h
    src/FeMesh.h
    src/FeVariable.c
    src/FeVariable.h
    src/Finalise.c
    src/Finalise.h
    src/Init.c
    src/Init.h
    src/Inner2DGenerator.c
    src/Inner2DGenerator.h
    src/IrregularMeshGaussLayout.c
    src/IrregularMeshGaussLayout.h
    src/LinearElementType.c
    src/LinearElementType.h
    src/LinearTriangleElementType.c
    src/LinearTriangleElementType.h
    src/LinkedDofInfo.c
    src/LinkedDofInfo.h
    src/PETScErrorChecking.h
    src/TrilinearElementType.c
    src/TrilinearElementType.h
    src/TrilinearInnerElType.c
    src/TrilinearInnerElType.h
    src/Triquadratic.c
    src/Triquadratic.h
    src/types.h
    )

target_sources(StgFEM PRIVATE ${sources})