cmake_minimum_required(VERSION 3.16)

project(ADCLIB LANGUAGES CXX DESCRIPTION "Abstract Device Components Library")

set(CMAKE_CXX_STANDARD 23)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

# ------- dependencies -------

include(FetchContent)

FetchContent_Declare(
    snplib
    GIT_REPOSITORY https://timur@git.sao.ru/timur/snipplib.git
    GIT_TAG main
    GIT_SHALLOW 1
    GIT_PROGRESS 1
    SOURCE_DIR ${CMAKE_BINARY_DIR}/snipplib
)

FetchContent_MakeAvailable(snplib)


set(ADCLIB_HEADERS include/adclib/adclib_device.h)
add_library(${PROJECT_NAME} INTERFACE ${ADCLIB_HEADERS})

include(GNUInstallDirs)
install(TARGETS ADCLIB
    LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
    RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
)
