enable_testing()

add_executable(base64 base64.cpp)

target_link_libraries(base64 netplus-static)

add_executable(des des.cpp)

target_link_libraries(des netplus-static)

add_executable(aes aes.cpp)

target_link_libraries(aes netplus-static)

add_executable(rc4 rc4.cpp)

target_link_libraries(rc4 netplus-static)

add_executable(rsa rsa.cpp)

target_link_libraries(rsa netplus-static)

add_executable(x509 x509.cpp)

target_link_libraries(x509 netplus-static)

add_executable(ecc ecc.cpp)

target_link_libraries(ecc netplus-static)

add_executable(http http.cpp)

target_link_libraries(http netplus-static)

# Temporarily disabled: TLS test needs refactoring
# add_executable(tls tls.cpp)

add_executable(sha_nist sha_nist.cpp)

target_link_libraries(sha_nist netplus-static)

add_executable(hmac_sha384 hmac_sha384.cpp)

target_link_libraries(hmac_sha384 netplus-static)

# if(WIN32)
#     target_link_libraries(tls netplus-static ws2_32)
# else()
#     target_link_libraries(tls netplus-static)
# endif()


add_executable(x25519 x25519.cpp)

target_link_libraries(x25519 netplus-static)

add_test(
    NAME sha_nist_test
    COMMAND sha_nist
)

add_test(
    NAME hmac_sha384_test
    COMMAND hmac_sha384
)

add_test(
    NAME dest_test
    COMMAND des
)

add_test(
    NAME aes_test
    COMMAND aes
)

add_test(
    NAME rc4_test
    COMMAND rc4
)

add_test(
    NAME rsa_test
    COMMAND rsa -A "../test/certificate.der"
)

add_test(
    NAME x509_test
    COMMAND x509
)

add_test(
    NAME x25519_test
    COMMAND x25519
)


add_executable(https_test https_test.cpp)

if(WIN32)
    target_link_libraries(https_test netplus-static ws2_32)
else()
    target_link_libraries(https_test netplus-static)
endif()

add_executable(quic_test quic_test.cpp)

if(WIN32)
    target_link_libraries(quic_test netplus-static ws2_32)
else()
    target_link_libraries(quic_test netplus-static)
endif()
