add_library(curve25519-interface INTERFACE) target_include_directories(curve25519-interface INTERFACE ${CMAKE_CURRENT_SOURCE_DIR} ) target_sources(curve25519-interface INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}/curve25519.h ) target_link_libraries(curve25519-interface INTERFACE cmix-crypto ) foreach(impl ${curve25519_implementations}) add_subdirectory(${impl}) endforeach() add_library(curve25519-implementation INTERFACE) target_link_libraries(curve25519-implementation INTERFACE curve25519-${curve25519_implementation} )