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_aes_encrypt_block aes_encrypt_block.cpp aes_common.hpp) target_include_directories(test_aes_encrypt_block PRIVATE ${Boost_INCLUDE_DIRS}) target_link_libraries(test_aes_encrypt_block libaesni libaesnixx ${Boost_LIBRARIES}) set_target_properties(test_aes_encrypt_block PROPERTIES OUTPUT_NAME aes_encrypt_block) add_executable(test_aes_decrypt_block aes_decrypt_block.cpp aes_common.hpp) target_include_directories(test_aes_decrypt_block PRIVATE ${Boost_INCLUDE_DIRS}) target_link_libraries(test_aes_decrypt_block libaesni libaesnixx ${Boost_LIBRARIES}) set_target_properties(test_aes_decrypt_block PROPERTIES OUTPUT_NAME aes_decrypt_block)