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) option(ADCLIB_BUILD_EXAM "Build examples" ON) # ------- dependencies ------- include(FetchContent) set(SNPLIB_BUILD_EXAMPLES OFF) 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 include/adclib/adclib_common.h ) add_library(${PROJECT_NAME} INTERFACE ${ADCLIB_HEADERS}) target_compile_features(${PROJECT_NAME} INTERFACE cxx_std_23) target_include_directories( ${PROJECT_NAME} INTERFACE "$" "$" ) target_link_libraries(${PROJECT_NAME} INTERFACE snipplib) if(ADCLIB_BUILD_EXAM) add_executable(device_exam examples/device_exam.cpp) target_link_libraries(device_exam PRIVATE ${PROJECT_NAME}) endif() include(GNUInstallDirs) install( TARGETS ${PROJECT_NAME} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} )