
CMAKE_HOST_ describes the host system not the target. For cross compilation to work the actual target system should be used for making decisions in CMake.
453 lines
12 KiB
CMake
453 lines
12 KiB
CMake
include_directories(
|
|
.
|
|
../include
|
|
../include/compat
|
|
../crypto/modes
|
|
../crypto/asn1
|
|
../ssl
|
|
../tls
|
|
../apps/openssl
|
|
../apps/openssl/compat
|
|
)
|
|
|
|
add_definitions(-D_PATH_SSL_CA_FILE=\"${CMAKE_CURRENT_SOURCE_DIR}/../apps/openssl/cert.pem\")
|
|
|
|
foreach(lib IN LISTS OPENSSL_LIBS)
|
|
if(${lib} STREQUAL "tls-shared")
|
|
set(TESTS_LIBS ${TESTS_LIBS} tls)
|
|
elseif(${lib} STREQUAL "ssl-shared")
|
|
set(TESTS_LIBS ${TESTS_LIBS} ssl)
|
|
elseif(${lib} STREQUAL "crypto-shared")
|
|
set(TESTS_LIBS ${TESTS_LIBS} crypto)
|
|
else()
|
|
set(TESTS_LIBS ${TESTS_LIBS} ${lib})
|
|
endif()
|
|
endforeach()
|
|
|
|
# aeadtest
|
|
add_executable(aeadtest aeadtest.c)
|
|
target_link_libraries(aeadtest ${TESTS_LIBS})
|
|
add_test(aeadtest aeadtest ${CMAKE_CURRENT_SOURCE_DIR}/aeadtests.txt)
|
|
|
|
# aes_wrap
|
|
add_executable(aes_wrap aes_wrap.c)
|
|
target_link_libraries(aes_wrap ${TESTS_LIBS})
|
|
add_test(aes_wrap aes_wrap)
|
|
|
|
# arc4randomforktest
|
|
# Windows/mingw does not have fork, but Cygwin does.
|
|
if(NOT CMAKE_HOST_WIN32 AND NOT CMAKE_SYSTEM_NAME MATCHES "MINGW")
|
|
add_executable(arc4randomforktest arc4randomforktest.c)
|
|
target_link_libraries(arc4randomforktest ${TESTS_LIBS})
|
|
add_test(arc4randomforktest ${CMAKE_CURRENT_SOURCE_DIR}/arc4randomforktest.sh)
|
|
endif()
|
|
|
|
# asn1evp
|
|
add_executable(asn1evp asn1evp.c)
|
|
target_link_libraries(asn1evp ${TESTS_LIBS})
|
|
add_test(asn1evp asn1evp)
|
|
|
|
# asn1test
|
|
add_executable(asn1test asn1test.c)
|
|
target_link_libraries(asn1test ${TESTS_LIBS})
|
|
add_test(asn1test asn1test)
|
|
|
|
# asn1time
|
|
add_executable(asn1time asn1time.c)
|
|
target_link_libraries(asn1time ${TESTS_LIBS})
|
|
add_test(asn1time asn1time)
|
|
|
|
# base64test
|
|
add_executable(base64test base64test.c)
|
|
target_link_libraries(base64test ${TESTS_LIBS})
|
|
add_test(base64test base64test)
|
|
|
|
# bftest
|
|
add_executable(bftest bftest.c)
|
|
target_link_libraries(bftest ${TESTS_LIBS})
|
|
add_test(bftest bftest)
|
|
|
|
# biotest
|
|
# the BIO tests rely on resolver results that are OS and environment-specific
|
|
if(ENABLE_EXTRATESTS)
|
|
add_executable(biotest biotest.c)
|
|
target_link_libraries(biotest ${TESTS_LIBS})
|
|
add_test(biotest biotest)
|
|
endif()
|
|
|
|
# bntest
|
|
add_executable(bntest bntest.c)
|
|
set_source_files_properties(bntest.c PROPERTIES COMPILE_FLAGS -ULIBRESSL_INTERNAL)
|
|
target_link_libraries(bntest ${TESTS_LIBS})
|
|
add_test(bntest bntest)
|
|
|
|
# bytestringtest
|
|
add_executable(bytestringtest bytestringtest.c)
|
|
target_link_libraries(bytestringtest ${TESTS_LIBS})
|
|
add_test(bytestringtest bytestringtest)
|
|
|
|
# casttest
|
|
add_executable(casttest casttest.c)
|
|
target_link_libraries(casttest ${TESTS_LIBS})
|
|
add_test(casttest casttest)
|
|
|
|
# chachatest
|
|
add_executable(chachatest chachatest.c)
|
|
target_link_libraries(chachatest ${TESTS_LIBS})
|
|
add_test(chachatest chachatest)
|
|
|
|
# cipher_list
|
|
add_executable(cipher_list cipher_list.c)
|
|
target_link_libraries(cipher_list ${TESTS_LIBS})
|
|
add_test(cipher_list cipher_list)
|
|
|
|
# cipherstest
|
|
add_executable(cipherstest cipherstest.c)
|
|
target_link_libraries(cipherstest ${TESTS_LIBS})
|
|
add_test(cipherstest cipherstest)
|
|
|
|
# clienttest
|
|
add_executable(clienttest clienttest.c)
|
|
target_link_libraries(clienttest ${TESTS_LIBS})
|
|
add_test(clienttest clienttest)
|
|
|
|
# configtest
|
|
add_executable(configtest configtest.c)
|
|
target_link_libraries(configtest ${TESTS_LIBS})
|
|
add_test(configtest configtest)
|
|
|
|
# cts128test
|
|
add_executable(cts128test cts128test.c)
|
|
target_link_libraries(cts128test ${TESTS_LIBS})
|
|
add_test(cts128test cts128test)
|
|
|
|
# destest
|
|
add_executable(destest destest.c)
|
|
target_link_libraries(destest ${TESTS_LIBS})
|
|
add_test(destest destest)
|
|
|
|
# dhtest
|
|
add_executable(dhtest dhtest.c)
|
|
target_link_libraries(dhtest ${TESTS_LIBS})
|
|
add_test(dhtest dhtest)
|
|
|
|
# dsatest
|
|
add_executable(dsatest dsatest.c)
|
|
target_link_libraries(dsatest ${TESTS_LIBS})
|
|
add_test(dsatest dsatest)
|
|
|
|
# ecdhtest
|
|
add_executable(ecdhtest ecdhtest.c)
|
|
target_link_libraries(ecdhtest ${TESTS_LIBS})
|
|
add_test(ecdhtest ecdhtest)
|
|
|
|
# ecdsatest
|
|
add_executable(ecdsatest ecdsatest.c)
|
|
target_link_libraries(ecdsatest ${TESTS_LIBS})
|
|
add_test(ecdsatest ecdsatest)
|
|
|
|
# ectest
|
|
add_executable(ectest ectest.c)
|
|
target_link_libraries(ectest ${TESTS_LIBS})
|
|
add_test(ectest ectest)
|
|
|
|
# enginetest
|
|
add_executable(enginetest enginetest.c)
|
|
target_link_libraries(enginetest ${TESTS_LIBS})
|
|
add_test(enginetest enginetest)
|
|
|
|
# evptest
|
|
add_executable(evptest evptest.c)
|
|
target_link_libraries(evptest ${TESTS_LIBS})
|
|
add_test(evptest evptest ${CMAKE_CURRENT_SOURCE_DIR}/evptests.txt)
|
|
|
|
# explicit_bzero
|
|
# explicit_bzero relies on SA_ONSTACK, which is unavailable on Windows
|
|
if(NOT WIN32)
|
|
if(HAVE_MEMMEM)
|
|
add_executable(explicit_bzero explicit_bzero.c)
|
|
else()
|
|
add_executable(explicit_bzero explicit_bzero.c compat/memmem.c)
|
|
endif()
|
|
target_link_libraries(explicit_bzero ${TESTS_LIBS})
|
|
add_test(explicit_bzero explicit_bzero)
|
|
endif()
|
|
|
|
# exptest
|
|
add_executable(exptest exptest.c)
|
|
set_source_files_properties(exptest.c PROPERTIES COMPILE_FLAGS -ULIBRESSL_INTERNAL)
|
|
target_link_libraries(exptest ${TESTS_LIBS})
|
|
add_test(exptest exptest)
|
|
|
|
# freenull
|
|
add_executable(freenull freenull.c)
|
|
target_link_libraries(freenull ${TESTS_LIBS})
|
|
add_test(freenull freenull)
|
|
|
|
# gcm128test
|
|
add_executable(gcm128test gcm128test.c)
|
|
target_link_libraries(gcm128test ${TESTS_LIBS})
|
|
add_test(gcm128test gcm128test)
|
|
|
|
# gost2814789t
|
|
add_executable(gost2814789t gost2814789t.c)
|
|
target_link_libraries(gost2814789t ${TESTS_LIBS})
|
|
add_test(gost2814789t gost2814789t)
|
|
|
|
# hkdf_test
|
|
add_executable(hkdf_test hkdf_test.c)
|
|
target_link_libraries(hkdf_test ${TESTS_LIBS})
|
|
add_test(hkdf_test hkdf_test)
|
|
|
|
# hmactest
|
|
add_executable(hmactest hmactest.c)
|
|
target_link_libraries(hmactest ${TESTS_LIBS})
|
|
add_test(hmactest hmactest)
|
|
|
|
# ideatest
|
|
add_executable(ideatest ideatest.c)
|
|
target_link_libraries(ideatest ${TESTS_LIBS})
|
|
add_test(ideatest ideatest)
|
|
|
|
# igetest
|
|
add_executable(igetest igetest.c)
|
|
target_link_libraries(igetest ${TESTS_LIBS})
|
|
add_test(igetest igetest)
|
|
|
|
# keypairtest
|
|
if(NOT MSVC)
|
|
add_executable(keypairtest keypairtest.c)
|
|
target_link_libraries(keypairtest ${TESTS_LIBS})
|
|
add_test(keypairtest keypairtest
|
|
${CMAKE_CURRENT_SOURCE_DIR}/ca.pem
|
|
${CMAKE_CURRENT_SOURCE_DIR}/server.pem
|
|
${CMAKE_CURRENT_SOURCE_DIR}/server.pem)
|
|
endif()
|
|
|
|
# md4test
|
|
add_executable(md4test md4test.c)
|
|
target_link_libraries(md4test ${TESTS_LIBS})
|
|
add_test(md4test md4test)
|
|
|
|
# md5test
|
|
add_executable(md5test md5test.c)
|
|
target_link_libraries(md5test ${TESTS_LIBS})
|
|
add_test(md5test md5test)
|
|
|
|
# mont
|
|
add_executable(mont mont.c)
|
|
target_link_libraries(mont ${TESTS_LIBS})
|
|
add_test(mont mont)
|
|
|
|
# ocsp_test
|
|
if(ENABLE_EXTRATESTS)
|
|
add_executable(ocsp_test ocsp_test.c)
|
|
target_link_libraries(ocsp_test ${TESTS_LIBS})
|
|
if(NOT MSVC)
|
|
add_test(ocsptest ${CMAKE_CURRENT_SOURCE_DIR}/ocsptest.sh)
|
|
else()
|
|
add_test(ocsptest ${CMAKE_CURRENT_SOURCE_DIR}/ocsptest.bat)
|
|
endif()
|
|
endif()
|
|
|
|
# optionstest
|
|
add_executable(optionstest optionstest.c)
|
|
target_link_libraries(optionstest ${TESTS_LIBS})
|
|
add_test(optionstest optionstest)
|
|
|
|
# pbkdf2
|
|
add_executable(pbkdf2 pbkdf2.c)
|
|
target_link_libraries(pbkdf2 ${TESTS_LIBS})
|
|
add_test(pbkdf2 pbkdf2)
|
|
|
|
# pidwraptest
|
|
# pidwraptest relies on an OS-specific way to give out pids and is generally
|
|
# awkward on systems with slow fork
|
|
if(ENABLE_EXTRATESTS AND NOT MSVC)
|
|
add_executable(pidwraptest pidwraptest.c)
|
|
target_link_libraries(pidwraptest ${TESTS_LIBS})
|
|
add_test(pidwraptest ${CMAKE_CURRENT_SOURCE_DIR}/pidwraptest.sh)
|
|
endif()
|
|
|
|
# pkcs7test
|
|
add_executable(pkcs7test pkcs7test.c)
|
|
target_link_libraries(pkcs7test ${TESTS_LIBS})
|
|
add_test(pkcs7test pkcs7test)
|
|
|
|
# poly1305test
|
|
add_executable(poly1305test poly1305test.c)
|
|
target_link_libraries(poly1305test ${TESTS_LIBS})
|
|
add_test(poly1305test poly1305test)
|
|
|
|
# pq_test
|
|
add_executable(pq_test pq_test.c)
|
|
target_link_libraries(pq_test ${TESTS_LIBS})
|
|
if(NOT MSVC)
|
|
add_test(pq_test ${CMAKE_CURRENT_SOURCE_DIR}/pq_test.sh)
|
|
else()
|
|
add_test(pq_test ${CMAKE_CURRENT_SOURCE_DIR}/pq_test.bat)
|
|
endif()
|
|
set_tests_properties(pq_test PROPERTIES ENVIRONMENT "srcdir=${CMAKE_CURRENT_SOURCE_DIR}")
|
|
|
|
# randtest
|
|
add_executable(randtest randtest.c)
|
|
target_link_libraries(randtest ${TESTS_LIBS})
|
|
add_test(randtest randtest)
|
|
|
|
# rc2test
|
|
add_executable(rc2test rc2test.c)
|
|
target_link_libraries(rc2test ${TESTS_LIBS})
|
|
add_test(rc2test rc2test)
|
|
|
|
# rc4test
|
|
add_executable(rc4test rc4test.c)
|
|
target_link_libraries(rc4test ${TESTS_LIBS})
|
|
add_test(rc4test rc4test)
|
|
|
|
# rfc5280time
|
|
add_executable(rfc5280time rfc5280time.c)
|
|
target_link_libraries(rfc5280time ${TESTS_LIBS})
|
|
if(SMALL_TIME_T)
|
|
add_test(rfc5280time ${CMAKE_CURRENT_SOURCE_DIR}/rfc5280time_small.test)
|
|
else()
|
|
add_test(rfc5280time rfc5280time)
|
|
endif()
|
|
|
|
# rmdtest
|
|
add_executable(rmdtest rmdtest.c)
|
|
target_link_libraries(rmdtest ${TESTS_LIBS})
|
|
add_test(rmdtest rmdtest)
|
|
|
|
# rsa_test
|
|
add_executable(rsa_test rsa_test.c)
|
|
target_link_libraries(rsa_test ${TESTS_LIBS})
|
|
add_test(rsa_test rsa_test)
|
|
|
|
# servertest
|
|
add_executable(servertest servertest.c)
|
|
target_link_libraries(servertest ${TESTS_LIBS})
|
|
if(NOT MSVC)
|
|
add_test(servertest ${CMAKE_CURRENT_SOURCE_DIR}/servertest.sh)
|
|
else()
|
|
add_test(servertest ${CMAKE_CURRENT_SOURCE_DIR}/servertest.bat)
|
|
endif()
|
|
set_tests_properties(servertest PROPERTIES ENVIRONMENT "srcdir=${CMAKE_CURRENT_SOURCE_DIR}")
|
|
|
|
# sha1test
|
|
add_executable(sha1test sha1test.c)
|
|
target_link_libraries(sha1test ${TESTS_LIBS})
|
|
add_test(sha1test sha1test)
|
|
|
|
# sha256test
|
|
add_executable(sha256test sha256test.c)
|
|
target_link_libraries(sha256test ${TESTS_LIBS})
|
|
add_test(sha256test sha256test)
|
|
|
|
# sha512test
|
|
add_executable(sha512test sha512test.c)
|
|
target_link_libraries(sha512test ${TESTS_LIBS})
|
|
add_test(sha512test sha512test)
|
|
|
|
# ssl_versions
|
|
add_executable(ssl_versions ssl_versions.c)
|
|
target_link_libraries(ssl_versions ${TESTS_LIBS})
|
|
add_test(ssl_versions ssl_versions)
|
|
|
|
# ssltest
|
|
add_executable(ssltest ssltest.c)
|
|
target_link_libraries(ssltest ${TESTS_LIBS})
|
|
if(NOT MSVC)
|
|
add_test(ssltest ${CMAKE_CURRENT_SOURCE_DIR}/ssltest.sh)
|
|
else()
|
|
add_test(ssltest ${CMAKE_CURRENT_SOURCE_DIR}/ssltest.bat)
|
|
endif()
|
|
set_tests_properties(ssltest PROPERTIES ENVIRONMENT "srcdir=${CMAKE_CURRENT_SOURCE_DIR}")
|
|
|
|
# testdsa
|
|
if(NOT MSVC)
|
|
add_test(testdsa ${CMAKE_CURRENT_SOURCE_DIR}/testdsa.sh)
|
|
else()
|
|
add_test(testdsa ${CMAKE_CURRENT_SOURCE_DIR}/testdsa.bat)
|
|
endif()
|
|
set_tests_properties(testdsa PROPERTIES ENVIRONMENT "srcdir=${CMAKE_CURRENT_SOURCE_DIR}")
|
|
|
|
# testenc
|
|
if(NOT MSVC)
|
|
add_test(testenc ${CMAKE_CURRENT_SOURCE_DIR}/testenc.sh)
|
|
else()
|
|
add_test(testenc ${CMAKE_CURRENT_SOURCE_DIR}/testenc.bat)
|
|
endif()
|
|
set_tests_properties(testenc PROPERTIES ENVIRONMENT "srcdir=${CMAKE_CURRENT_SOURCE_DIR}")
|
|
|
|
# testrsa
|
|
if(NOT MSVC)
|
|
add_test(testrsa ${CMAKE_CURRENT_SOURCE_DIR}/testrsa.sh)
|
|
else()
|
|
add_test(testrsa ${CMAKE_CURRENT_SOURCE_DIR}/testrsa.bat)
|
|
endif()
|
|
set_tests_properties(testrsa PROPERTIES ENVIRONMENT "srcdir=${CMAKE_CURRENT_SOURCE_DIR}")
|
|
|
|
# timingsafe
|
|
add_executable(timingsafe timingsafe.c)
|
|
target_link_libraries(timingsafe ${TESTS_LIBS})
|
|
add_test(timingsafe timingsafe)
|
|
|
|
# tlsexttest
|
|
add_executable(tlsexttest tlsexttest.c)
|
|
target_link_libraries(tlsexttest ${TESTS_LIBS})
|
|
add_test(tlsexttest tlsexttest)
|
|
|
|
# tlstest
|
|
set(TLSTEST_SRC tlstest.c)
|
|
check_function_exists(pipe2 HAVE_PIPE2)
|
|
if(HAVE_PIPE2)
|
|
add_definitions(-DHAVE_PIPE2)
|
|
else()
|
|
set(TLSTEST_SRC ${TLSTEST_SRC} compat/pipe2.c)
|
|
endif()
|
|
|
|
add_executable(tlstest ${TLSTEST_SRC})
|
|
target_link_libraries(tlstest ${TESTS_LIBS})
|
|
if(NOT MSVC)
|
|
add_test(tlstest ${CMAKE_CURRENT_SOURCE_DIR}/tlstest.sh)
|
|
else()
|
|
add_test(tlstest ${CMAKE_CURRENT_SOURCE_DIR}/tlstest.bat)
|
|
endif()
|
|
set_tests_properties(tlstest PROPERTIES ENVIRONMENT "srcdir=${CMAKE_CURRENT_SOURCE_DIR}")
|
|
|
|
# tls_ext_alpn
|
|
add_executable(tls_ext_alpn tls_ext_alpn.c)
|
|
target_link_libraries(tls_ext_alpn ${TESTS_LIBS})
|
|
add_test(tls_ext_alpn tls_ext_alpn)
|
|
|
|
# tls_prf
|
|
add_executable(tls_prf tls_prf.c)
|
|
target_link_libraries(tls_prf ${TESTS_LIBS})
|
|
add_test(tls_prf tls_prf)
|
|
|
|
# utf8test
|
|
add_executable(utf8test utf8test.c)
|
|
target_link_libraries(utf8test ${TESTS_LIBS})
|
|
add_test(utf8test utf8test)
|
|
|
|
# verifytest
|
|
add_executable(verifytest verifytest.c)
|
|
target_link_libraries(verifytest tls ${TESTS_LIBS})
|
|
add_test(verifytest verifytest)
|
|
|
|
# x25519test
|
|
add_executable(x25519test x25519test.c)
|
|
target_link_libraries(x25519test ${TESTS_LIBS})
|
|
add_test(x25519test x25519test)
|
|
|
|
if(ENABLE_VSTEST AND USE_SHARED)
|
|
add_custom_command(TARGET x25519test POST_BUILD
|
|
COMMAND "${CMAKE_COMMAND}" -E copy
|
|
"$<TARGET_FILE:tls-shared>"
|
|
"$<TARGET_FILE:ssl-shared>"
|
|
"$<TARGET_FILE:crypto-shared>"
|
|
"${CMAKE_CURRENT_BINARY_DIR}"
|
|
COMMENT "Copying DLLs for regression tests")
|
|
endif()
|
|
|