47 lines
1.1 KiB
CMake
47 lines
1.1 KiB
CMake
cmake_minimum_required(VERSION 3.16)
|
|
|
|
project(algorithms_test)
|
|
set(TEST_CATEGORY Algorithms)
|
|
|
|
# Add new tests here #
|
|
set(AVAILABLE_TESTS
|
|
# Endian
|
|
32BitIntegerEndianSwap
|
|
64BitFloatEndianSwap
|
|
|
|
# Crypto
|
|
EncodeDecode16
|
|
EncodeDecode64
|
|
EncodeDecodeLEB128
|
|
CRC32
|
|
CRC32Random
|
|
CRC16
|
|
CRC16Random
|
|
CRC8
|
|
CRC8Random
|
|
md5
|
|
sha1
|
|
sha224
|
|
sha256
|
|
sha384
|
|
sha512
|
|
)
|
|
|
|
|
|
add_executable(${PROJECT_NAME}
|
|
source/endian.cpp
|
|
source/crypto.cpp
|
|
)
|
|
|
|
|
|
# ---- No need to change anything from here downwards unless you know what you're doing ---- #
|
|
|
|
target_include_directories(${PROJECT_NAME} PRIVATE include)
|
|
target_link_libraries(${PROJECT_NAME} PRIVATE libimhex tests_common ${FMT_LIBRARIES})
|
|
|
|
set_target_properties(${PROJECT_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR})
|
|
|
|
foreach (test IN LISTS AVAILABLE_TESTS)
|
|
add_test(NAME "${TEST_CATEGORY}/${test}" COMMAND ${PROJECT_NAME} "${test}" WORKING_DIRECTORY ${CMAKE_BINARY_DIR})
|
|
endforeach ()
|
|
add_dependencies(unit_tests ${PROJECT_NAME}) |