set(target_name base)

# Headers and SRC
file(GLOB_RECURSE BUILD_SRC *.cpp *.c *.h)
file(GLOB install_list *.h *.hpp)

# Binary targets
add_library(${target_name} OBJECT ${BUILD_SRC})
if(WITH_MPI)
    tbp_set_mpi(${target_name})
endif()
if(WITH_HDF5)
    tbp_set_hdf5(${target_name})
endif()
# For any target using Eigen, set the math library since Eigen may call
# BLAS/LAPACK.
tbp_set_math_lib(${target_name})

# begin_link_order
# end_link_order

#install target ${target_name}
install(
    TARGETS ${target_name}
    EXPORT tbplasTargets
    LIBRARY DESTINATION ${TBPLAS_LIB_INSTALL_PATH}
    ARCHIVE DESTINATION ${TBPLAS_LIB_ARCHIVE_INSTALL_PATH}
    DESTINATION ${TBPLAS_LIB_ARCHIVE_INSTALL_PATH})


# Headers targets
install(
    FILES ${install_list}
    DESTINATION ${TBPLAS_INCLUDE_INSTALL_PATH}/${target_name}
    PERMISSIONS OWNER_READ GROUP_READ WORLD_READ
)
