cmake_minimum_required(VERSION 3.10)
project(cellframe-tool-sign C)
include(cellframe-sdk/cmake/ReadMKFile.cmake)

ReadVariables(version.mk)

execute_process(
    COMMAND git log -1 --format=%h
    WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
    OUTPUT_VARIABLE GIT_COMMIT_HASH
    OUTPUT_STRIP_TRAILING_WHITESPACE
    )
    
string(TIMESTAMP BUILD_TIMESTAMP "%d.%m.%Y")
message("Build date: ${BUILD_TIMESTAMP}")
message("Git SHA: ${GIT_COMMIT_HASH}")


add_definitions("-DDAP_VERSION=\"${VERSION_MAJOR}.${VERSION_MINOR}-${VERSION_PATCH}\"")
add_definitions("-DBUILD_TS=\"${BUILD_TIMESTAMP}\"")
add_definitions("-DBUILD_HASH=\"${GIT_COMMIT_HASH}\"")

set(CELLFRAME_MODULES "core chains network cs-none srv srv-datum srv-stake cs-esbocs srv-xchange srv-voting")
set(SPHINCSPLUS_FLEX ON)
option(CELLFRAME_NO_OPTIMIZATION "Build without BMI BMI2 CPU instruction." ON)
set(DAP_CRYPTO_XKCP_PLAINC ON)
include (cellframe-sdk/dap-sdk/cmake/OS_Detection.cmake)
add_subdirectory(cellframe-sdk)
add_subdirectory(cellframe-sdk/dap-sdk)

add_executable(${PROJECT_NAME} "main.c")

set_property(TARGET ${PROJECT_NAME} APPEND_STRING PROPERTY LINK_FLAGS "-D_GNU_SOURCE")

target_link_libraries(${PROJECT_NAME} m cellframe-sdk pthread)
target_include_directories(${PROJECT_NAME} INTERFACE .)