2025-10-02 22:16:27 +01:00
|
|
|
cmake_minimum_required(VERSION 3.13)
|
|
|
|
|
|
2022-05-28 11:41:19 +01:00
|
|
|
# 'Google_test' is the subproject name
|
|
|
|
|
project(tests)
|
|
|
|
|
|
|
|
|
|
# 'lib' is the folder with Google Test sources
|
|
|
|
|
add_subdirectory(lib)
|
2025-10-02 22:16:58 +01:00
|
|
|
include_directories(${gtest_SOURCE_DIR}/include ${gtest_SOURCE_DIR} ../include ../3rdparty/uthash/include ../3rdparty/uthash/src)
|
2022-05-28 11:41:19 +01:00
|
|
|
|
2025-09-30 16:16:53 +01:00
|
|
|
# Find OpenSSL for tests that use it directly
|
|
|
|
|
find_package(OpenSSL QUIET)
|
|
|
|
|
find_package(LibreSSL QUIET)
|
|
|
|
|
|
2022-05-28 11:41:19 +01:00
|
|
|
file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/data/random
|
2025-10-02 22:16:58 +01:00
|
|
|
DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/data/)
|
2022-05-28 11:41:19 +01:00
|
|
|
|
2022-05-28 13:38:09 +01:00
|
|
|
file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/data/flac.flac
|
2025-10-02 22:16:58 +01:00
|
|
|
DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/data/)
|
2022-05-28 13:38:09 +01:00
|
|
|
|
|
|
|
|
file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/data/audio.bin
|
2025-10-02 22:16:58 +01:00
|
|
|
DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/data/)
|
2022-05-28 13:38:09 +01:00
|
|
|
|
2022-05-28 13:45:15 +01:00
|
|
|
file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/data/lzma.bin
|
2025-10-02 22:16:58 +01:00
|
|
|
DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/data/)
|
2022-05-28 13:45:15 +01:00
|
|
|
|
|
|
|
|
file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/data/data.bin
|
2025-10-02 22:16:58 +01:00
|
|
|
DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/data/)
|
2022-05-28 13:45:15 +01:00
|
|
|
|
2022-05-28 11:41:19 +01:00
|
|
|
# 'Google_Tests_run' is the target name
|
|
|
|
|
# 'test1.cpp tests2.cpp' are source files with tests
|
2025-10-02 22:16:02 +01:00
|
|
|
add_executable(tests_run crc64.cpp spamsum.cpp crc32.c crc32.h flac.cpp lzma.cpp sha256.cpp md5.cpp)
|
2025-09-30 16:16:53 +01:00
|
|
|
|
|
|
|
|
# Link libraries including OpenSSL for SHA256 test
|
2025-10-02 22:17:25 +01:00
|
|
|
target_link_libraries(tests_run PRIVATE gtest gtest_main aaruformat)
|
2025-09-30 16:16:53 +01:00
|
|
|
|
|
|
|
|
# Link OpenSSL/LibreSSL for tests that use crypto functions directly
|
|
|
|
|
if(LIBRESSL_FOUND)
|
2025-10-02 22:17:25 +01:00
|
|
|
target_link_libraries(tests_run PRIVATE ${LIBRESSL_CRYPTO_LIBRARY})
|
2025-09-30 16:16:53 +01:00
|
|
|
elseif(OpenSSL_FOUND)
|
2025-10-02 22:17:44 +01:00
|
|
|
include_directories(${OPENSSL_INCLUDE_DIR})
|
2025-10-02 22:17:25 +01:00
|
|
|
target_link_libraries(tests_run PRIVATE ${OPENSSL_CRYPTO_LIBRARY})
|
2025-09-30 16:16:53 +01:00
|
|
|
endif()
|