add_library(ed25519-interface INTERFACE) target_include_directories(ed25519-interface INTERFACE ${CMAKE_CURRENT_SOURCE_DIR} ) target_sources(ed25519-interface INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}/ed25519.h ) target_link_libraries(ed25519-interface INTERFACE cmix-crypto-interface ) foreach(impl ${libcmix_crypto_ed25519_implementations}) add_subdirectory(${impl}) endforeach() add_library(ed25519-implementation ed25519.h ed25519.c ) target_include_directories(ed25519-implementation PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} ) target_link_libraries(ed25519-implementation PUBLIC ed25519-interface PUBLIC ed25519-${libcmix_crypto_ed25519_implementation} )