cmake_minimum_required(VERSION 3.14)

add_library(lis STATIC)

file(GLOB LIS_MATRIX_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/matrix/*.c)
file(GLOB LIS_VECTOR_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/vector/*.c)
file(GLOB LIS_MATVEC_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/matvec/*.c)
file(GLOB LIS_PRECON_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/precon/*.c)
file(GLOB LIS_SOLVER_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/solver/*.c)
file(GLOB LIS_ESOLVER_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/esolver/*.c)
file(GLOB LIS_SYSTEM_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/system/*.c)
file(GLOB LIS_PRECISION_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/precision/*.c)

target_sources(lis PRIVATE ${LIS_MATRIX_SOURCES} ${LIS_VECTOR_SOURCES} ${LIS_MATVEC_SOURCES} ${LIS_PRECON_SOURCES}
                           ${LIS_SOLVER_SOURCES} ${LIS_ESOLVER_SOURCES} ${LIS_SYSTEM_SOURCES} ${LIS_PRECISION_SOURCES})

target_compile_definitions(lis PRIVATE HAVE_CONFIG_H)

target_include_directories(lis PUBLIC ${Lis_SOURCE_DIR}/include)

install(TARGETS lis)
