cmake_minimum_required(VERSION 3.10)
project(UE2022)
set(LIB_E521_DIR /opt/libe521)
set(LIB_BEAR_DIR ${LIB_E521_DIR}/vendor/castor.kryptus/didymus/bearssl)
set(APP_SRC_DIR ${LIB_E521_DIR}/ue2022/src)
set(APP_BLD_DIR ${LIB_E521_DIR}/ue2022/bld)

set(SHARED_INCLUDES 
                ${LIB_E521_DIR}/include
                ${LIB_E521_DIR}/src
                ${LIB_E521_DIR}/build
                ${LIB_BEAR_DIR}/src
                ${LIB_BEAR_DIR}/inc
                )

include_directories(${SHARED_INCLUDES})

# file(GLOB KEYGEN_SRCS "${APP_SRC_DIR}/*.c")
set(KEYGEN_SRCS ${APP_SRC_DIR}/keygen.c)
set(RNDBLK_SRCS ${APP_SRC_DIR}/rndblock.c)
set(SGNMSG_SRCS ${APP_SRC_DIR}/sign.c)
set(VRFMSG_SRCS ${APP_SRC_DIR}/verify.c)

set(PROJECT_LINK_LIBS libe521.a)
link_directories(${LIB_E521_DIR}/build)
 
add_executable(keygen ${KEYGEN_SRCS})
add_executable(rndblock ${RNDBLK_SRCS})
add_executable(sign ${SGNMSG_SRCS})
add_executable(verify ${VRFMSG_SRCS})
target_link_libraries(keygen ${PROJECT_LINK_LIBS})
target_link_libraries(rndblock ${PROJECT_LINK_LIBS})
target_link_libraries(sign ${PROJECT_LINK_LIBS})
target_link_libraries(verify ${PROJECT_LINK_LIBS})