macro(test prefix) add_executable(test_${prefix}_encrypt_block ${prefix}_encrypt_block.c) target_link_libraries(test_${prefix}_encrypt_block libaesni) set_target_properties(test_${prefix}_encrypt_block PROPERTIES OUTPUT_NAME ${prefix}_encrypt_block) add_executable(test_${prefix}_decrypt_block ${prefix}_decrypt_block.c) target_link_libraries(test_${prefix}_decrypt_block libaesni) set_target_properties(test_${prefix}_decrypt_block PROPERTIES OUTPUT_NAME ${prefix}_decrypt_block) endmacro() test(aes128ecb) test(aes128cbc) test(aes128cfb) test(aes128ofb) test(aes128ctr) test(aes192ecb) test(aes192cbc) test(aes192cfb) test(aes192ofb) test(aes192ctr) test(aes256ecb) test(aes256cbc) test(aes256cfb) test(aes256ofb) test(aes256ctr) find_package(Boost REQUIRED COMPONENTS program_options) add_executable(test_encrypt_block_aes encrypt_block_aes.cpp common_aes.hpp) target_include_directories(test_encrypt_block_aes PRIVATE ${Boost_INCLUDE_DIRS}) target_link_libraries(test_encrypt_block_aes libaesni libaesnixx ${Boost_LIBRARIES}) set_target_properties(test_encrypt_block_aes PROPERTIES OUTPUT_NAME encrypt_block_aes) add_executable(test_decrypt_block_aes decrypt_block_aes.cpp common_aes.hpp) target_include_directories(test_decrypt_block_aes PRIVATE ${Boost_INCLUDE_DIRS}) target_link_libraries(test_decrypt_block_aes libaesni libaesnixx ${Boost_LIBRARIES}) set_target_properties(test_decrypt_block_aes PROPERTIES OUTPUT_NAME decrypt_block_aes)