macro(util prefix) add_executable(util_${prefix}_encrypt_block ${prefix}_encrypt_block.c) target_link_libraries(util_${prefix}_encrypt_block libaesni) set_target_properties(util_${prefix}_encrypt_block PROPERTIES OUTPUT_NAME ${prefix}_encrypt_block) add_executable(util_${prefix}_decrypt_block ${prefix}_decrypt_block.c) target_link_libraries(util_${prefix}_decrypt_block libaesni) set_target_properties(util_${prefix}_decrypt_block PROPERTIES OUTPUT_NAME ${prefix}_decrypt_block) endmacro() util(aes128ecb) util(aes128cbc) util(aes128cfb) util(aes128ofb) util(aes128ctr) util(aes192ecb) util(aes192cbc) util(aes192cfb) util(aes192ofb) util(aes192ctr) util(aes256ecb) util(aes256cbc) util(aes256cfb) util(aes256ofb) util(aes256ctr) add_subdirectory(cxx)