add_library(
    fesa_solver
    STATIC
    build_info.cpp
    core/diagnostic.cpp
    core/status.cpp
    math/matrix.cpp
    math/vector.cpp
    model/domain.cpp
)

target_include_directories(
    fesa_solver
    PUBLIC
        "${PROJECT_SOURCE_DIR}/include"
)

target_link_libraries(
    fesa_solver
    PRIVATE
        Fesa::MKL
)

# Product warnings are strict without imposing FESA policy on external targets.
target_compile_options(
    fesa_solver
    PRIVATE
        $<$<CXX_COMPILER_ID:MSVC>:/W4 /WX>
)
