simplify secp256k1 install and portabillity
This commit is contained in:
parent
593a32d12a
commit
1c43f79b16
1 changed files with 4 additions and 9 deletions
|
|
@ -68,28 +68,23 @@ if ( WIN32 )
|
||||||
set_target_properties( secp256k1 PROPERTIES COMPILE_DEFINITIONS "${SECP256K1_BUILD_DEFINES}" LINKER_LANGUAGE C )
|
set_target_properties( secp256k1 PROPERTIES COMPILE_DEFINITIONS "${SECP256K1_BUILD_DEFINES}" LINKER_LANGUAGE C )
|
||||||
else ( WIN32 )
|
else ( WIN32 )
|
||||||
include(ExternalProject)
|
include(ExternalProject)
|
||||||
if( "${CMAKE_CURRENT_SOURCE_DIR}" STREQUAL "${CMAKE_CURRENT_BINARY_DIR}" )
|
|
||||||
set( SECP_INSTALL_COMMAND true )
|
|
||||||
else()
|
|
||||||
set( SECP_INSTALL_COMMAND make install )
|
|
||||||
endif()
|
|
||||||
ExternalProject_Add( project_secp256k1
|
ExternalProject_Add( project_secp256k1
|
||||||
PREFIX ${CMAKE_CURRENT_BINARY_DIR}/vendor/secp256k1-zkp
|
PREFIX ${CMAKE_CURRENT_BINARY_DIR}/vendor/secp256k1-zkp
|
||||||
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/vendor/secp256k1-zkp
|
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/vendor/secp256k1-zkp
|
||||||
CONFIGURE_COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/vendor/secp256k1-zkp/configure --prefix=${CMAKE_CURRENT_BINARY_DIR}/vendor/secp256k1-zkp --with-bignum=no
|
CONFIGURE_COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/vendor/secp256k1-zkp/configure --prefix=${CMAKE_CURRENT_BINARY_DIR}/vendor/secp256k1-zkp --with-bignum=no
|
||||||
BUILD_COMMAND make
|
BUILD_COMMAND make
|
||||||
INSTALL_COMMAND ${SECP_INSTALL_COMMAND}
|
INSTALL_COMMAND true
|
||||||
)
|
)
|
||||||
ExternalProject_Add_Step(project_secp256k1 autogen
|
ExternalProject_Add_Step(project_secp256k1 autogen
|
||||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/vendor/secp256k1-zkp
|
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/vendor/secp256k1-zkp
|
||||||
COMMAND ./autogen.sh
|
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/vendor/secp256k1-zkp/autogen.sh
|
||||||
DEPENDERS configure
|
DEPENDERS configure
|
||||||
)
|
)
|
||||||
|
|
||||||
ExternalProject_Get_Property(project_secp256k1 install_dir)
|
ExternalProject_Get_Property(project_secp256k1 binary_dir)
|
||||||
|
|
||||||
add_library(secp256k1 STATIC IMPORTED)
|
add_library(secp256k1 STATIC IMPORTED)
|
||||||
set_property(TARGET secp256k1 PROPERTY IMPORTED_LOCATION ${install_dir}/lib/libsecp256k1.a)
|
set_property(TARGET secp256k1 PROPERTY IMPORTED_LOCATION ${binary_dir}/.libs/libsecp256k1${CMAKE_STATIC_LIBRARY_SUFFIX})
|
||||||
set_property(TARGET secp256k1 PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${CMAKE_CURRENT_SOURCE_DIR}/vendor/secp256k1-zkp/include)
|
set_property(TARGET secp256k1 PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${CMAKE_CURRENT_SOURCE_DIR}/vendor/secp256k1-zkp/include)
|
||||||
add_dependencies(secp256k1 project_secp256k1)
|
add_dependencies(secp256k1 project_secp256k1)
|
||||||
endif ( WIN32 )
|
endif ( WIN32 )
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue