include(ExternalProject)
ExternalProject_Add( secp256k1_zkp
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/secp256k1
CONFIGURE_COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/secp256k1/configure --prefix=${CMAKE_CURRENT_BINARY_DIR}/secp256k1
BUILD_COMMAND make
)
ExternalProject_Add_Step(secp256k1_zkp autogen
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/secp256k1
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/secp256k1/autogen.sh
DEPENDERS configure
)
add_library(secp256k1 STATIC IMPORTED)
set_property(TARGET secp256k1 PROPERTY IMPORTED_LOCATION ${CMAKE_CURRENT_BINARY_DIR}/secp256k1/lib/libsecp256k1.a)
set_property(TARGET secp256k1 PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${CMAKE_CURRENT_SOURCE_DIR}/secp256k1/include)
add_dependencies(secp256k1 secp256k1_zkp)