include(get_target_name) get_target_name(target_name algo api) find_package(Gcrypt REQUIRED) option(trace_pointers "trace alloced pointers by gcrypt" OFF) add_library(${target_name} SHARED gcrypt_elgamal.c ) if(trace_pointers) target_compile_definitions(${target_name} PRIVATE "POINTER_TRACING" ) endif(trace_pointers) if(NOT Gcrypt_CFLAGS STREQUAL "") IF(WIN32) separate_arguments(flags WINDOWS_COMMAND ${Gcrypt_CFLAGS}) else(WIN32) separate_arguments(flags UNIX_COMMAND ${Gcrypt_CFLAGS}) endif(WIN32) foreach(flag ${flags}) target_compile_options(${target_name} PUBLIC ${flag} ) endforeach(flag) endif(NOT Gcrypt_CFLAGS STREQUAL "") target_link_libraries(${target_name} PRIVATE elgamal-interface PUBLIC ${Gcrypt_LIBRARIES} )