2018-04-24 12:10:15 -04:00
|
|
|
project(ed25519)
|
2018-04-24 12:15:56 -04:00
|
|
|
cmake_minimum_required(VERSION 3.9)
|
2018-04-24 12:10:15 -04:00
|
|
|
|
2018-04-25 13:08:05 -04:00
|
|
|
set(CMAKE_CXX_STANDARD 11)
|
|
|
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
|
|
|
2018-04-24 12:33:55 -04:00
|
|
|
option(USE_OPENSSL "Use openssl for sha 512 (Faster than the default installation" ON)
|
|
|
|
|
2018-04-24 12:10:15 -04:00
|
|
|
set(SOURCE
|
|
|
|
src/add_scalar.c
|
|
|
|
src/fe.c
|
|
|
|
src/ge.c
|
|
|
|
src/key_exchange.c
|
|
|
|
src/keypair.c
|
|
|
|
src/sc.c
|
|
|
|
src/seed.c
|
|
|
|
src/sign.c
|
|
|
|
src/verify.c
|
|
|
|
)
|
|
|
|
|
2018-04-24 12:33:55 -04:00
|
|
|
if(USE_OPENSSL)
|
|
|
|
add_definitions(-DUSE_OPENSSL)
|
|
|
|
set(SOURCE ${SOURCE} src/sha512_openssl.c)
|
|
|
|
else()
|
|
|
|
set(SOURCE ${SOURCE} src/sha512.c)
|
|
|
|
endif()
|
|
|
|
|
|
|
|
#Some programs need for full support the header files too
|
2018-04-24 12:16:59 -04:00
|
|
|
set(HEADERS
|
|
|
|
include/ed25519.h
|
|
|
|
include/fe.h
|
|
|
|
include/fixedint.h
|
|
|
|
include/ge.h
|
|
|
|
include/precomp_data.h
|
|
|
|
include/sc.h
|
|
|
|
include/sha512.h
|
|
|
|
)
|
|
|
|
|
|
|
|
add_library(ed25519 STATIC ${SOURCE} ${HEADERS})
|
2018-04-24 12:10:15 -04:00
|
|
|
|
|
|
|
add_executable(ed25519_test test.c)
|
2018-04-24 12:15:56 -04:00
|
|
|
target_link_libraries(ed25519_test ed25519)
|
|
|
|
|
2018-04-24 12:33:55 -04:00
|
|
|
if(USE_OPENSSL)
|
|
|
|
target_link_libraries(ed25519_test crypto)
|
|
|
|
endif()
|
|
|
|
|
2018-04-24 12:15:56 -04:00
|
|
|
INSTALL(DIRECTORY include/ DESTINATION include/ed25519)
|
|
|
|
INSTALL(TARGETS ed25519
|
|
|
|
LIBRARY DESTINATION lib
|
|
|
|
ARCHIVE DESTINATION lib
|
|
|
|
)
|