set(kazvcrypto_SRCS
  crypto.cpp
  session.cpp
  inbound-group-session.cpp
  outbound-group-session.cpp

  aes-256-ctr.cpp
  base64.cpp
  sha256.cpp
  key-export.cpp
  verification-process.cpp
  verification-utils.cpp
  verification-tracker.cpp
  sas-desc.cpp
  )

add_library(kazvcrypto ${kazvcrypto_SRCS})
add_library(libkazv::kazvcrypto ALIAS kazvcrypto)
set_target_properties(kazvcrypto PROPERTIES VERSION ${libkazv_VERSION_STRING} SOVERSION ${libkazv_SOVERSION})

target_link_libraries(kazvcrypto PUBLIC kazvbase)
target_link_libraries(kazvcrypto PRIVATE vodozemac::vodozemac ${CRYPTOPP_TARGET_NAME})

target_include_directories(kazvcrypto PRIVATE .)

target_include_directories(kazvcrypto
  INTERFACE
  $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
  $<INSTALL_INTERFACE:include/kazv/crypto>
  )

install(TARGETS kazvcrypto EXPORT libkazvTargets LIBRARY)
