
execute_process(COMMAND git rev-parse --short HEAD OUTPUT_VARIABLE GIT_SHA1 ERROR_QUIET)
string(REGEX REPLACE "\n$" "" GIT_SHA1 "${GIT_SHA1}")

configure_file(ibis_version_cmake.h.in ${CMAKE_CURRENT_BINARY_DIR}/ibis_version.h @ONLY)
configure_file(config_cmake.h.in ${CMAKE_CURRENT_BINARY_DIR}/config.h @ONLY)

find_library(VERBS_SUPPORTED libibverbs.a)
configure_file(ibis_verbs_supported_cmake.h.in ibis_verbs_supported.h @ONLY)

set(srcs
    csv_parser.cpp
    ibis_am.cpp
    ibis_cc.cpp
    ibis_class_rdm.cpp
    ibis_class_c.cpp
    ibis.cpp
    ibis_mads.cpp
    ibis_mads_stat.cpp
    ibis_mad_names.cpp
    ibis_mellanox.cpp
    ibis_pcap.cpp
    ibis_pm.cpp
    ibis_smp.cpp
    ibis_verbs.cpp
    ext_umad.cpp
    ibis_vs.cpp
    key_mngr.cpp
    mkey_mngr.cpp
    packets/adb_to_c_utils.c
    packets/packets_layouts.c
)

add_library (ibis SHARED ${srcs})
target_compile_options(ibis PRIVATE -Wall -Werror)
target_link_libraries(ibis PUBLIC tt ${IBUMAD_LIBRARY} ibverbs)
target_include_directories(ibis PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../../include)
target_include_directories(ibis PUBLIC ${CMAKE_CURRENT_BINARY_DIR})
target_include_directories(ibis PUBLIC ${CMAKE_BINARY_DIR}/include)

install(TARGETS ibis DESTINATION lib)
