mirror of
https://github.com/eosswedenorg/libantelope
synced 2026-08-23 12:18:12 +02:00
CMakeLists.txt: move add_library() to top of "library" section so that we don't need to use variables for everything.
This commit is contained in:
parent
59e8ce473e
commit
c4304e3d22
1 changed files with 18 additions and 23 deletions
|
|
@ -49,7 +49,7 @@ set(EC_LIB "libsecp256k1" CACHE STRING "What elliptic curve implementation to us
|
||||||
|
|
||||||
set( LIB_NAME ${PROJECT_NAME} )
|
set( LIB_NAME ${PROJECT_NAME} )
|
||||||
|
|
||||||
set( LIB_SOURCE
|
add_library( ${LIB_NAME} STATIC
|
||||||
src/base58.cpp
|
src/base58.cpp
|
||||||
src/ec.cpp
|
src/ec.cpp
|
||||||
src/WIF.cpp
|
src/WIF.cpp
|
||||||
|
|
@ -57,23 +57,37 @@ set( LIB_SOURCE
|
||||||
src/openssl/hash.cpp
|
src/openssl/hash.cpp
|
||||||
)
|
)
|
||||||
|
|
||||||
|
target_include_directories( ${LIB_NAME}
|
||||||
|
PUBLIC
|
||||||
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/include>
|
||||||
|
$<INSTALL_INTERFACE:include>
|
||||||
|
)
|
||||||
|
|
||||||
|
# Skip prefix on unix.
|
||||||
|
if (UNIX)
|
||||||
|
set_target_properties(${LIB_NAME} PROPERTIES PREFIX "")
|
||||||
|
endif()
|
||||||
|
|
||||||
# OpenSSL
|
# OpenSSL
|
||||||
include(OpenSSL)
|
include(OpenSSL)
|
||||||
|
target_link_libraries( ${LIB_NAME} PRIVATE OpenSSL::Crypto)
|
||||||
|
|
||||||
# EC Implementation
|
# EC Implementation
|
||||||
if (${EC_LIB} STREQUAL "libsecp256k1")
|
if (${EC_LIB} STREQUAL "libsecp256k1")
|
||||||
add_subdirectory( vendor/secp256k1 )
|
add_subdirectory( vendor/secp256k1 )
|
||||||
# Note: this is a big hack to get cmake to not export this library.
|
# Note: this is a big hack to get cmake to not export this library.
|
||||||
# Must be a better way, but works so cba.
|
# Must be a better way, but works so cba.
|
||||||
LIST(APPEND LIB_PRIVATE_INCLUDE $<BUILD_INTERFACE:$<TARGET_PROPERTY:secp256k1,INCLUDE_DIRECTORIES>>)
|
target_include_directories( ${LIB_NAME}
|
||||||
LIST(APPEND LIB_SOURCE
|
PRIVATE $<BUILD_INTERFACE:$<TARGET_PROPERTY:secp256k1,INCLUDE_DIRECTORIES>>
|
||||||
|
)
|
||||||
|
target_sources( ${LIB_NAME} PRIVATE
|
||||||
$<TARGET_OBJECTS:secp256k1>
|
$<TARGET_OBJECTS:secp256k1>
|
||||||
src/libsecp256k1/ec.cpp
|
src/libsecp256k1/ec.cpp
|
||||||
src/libsecp256k1/ecdsa.cpp
|
src/libsecp256k1/ecdsa.cpp
|
||||||
)
|
)
|
||||||
|
|
||||||
elseif (${EC_LIB} STREQUAL "openssl")
|
elseif (${EC_LIB} STREQUAL "openssl")
|
||||||
LIST(APPEND LIB_SOURCE
|
target_sources( ${LIB_NAME} PRIVATE
|
||||||
src/openssl/ec.cpp
|
src/openssl/ec.cpp
|
||||||
src/openssl/ecdsa.cpp
|
src/openssl/ecdsa.cpp
|
||||||
src/openssl/helpers.c
|
src/openssl/helpers.c
|
||||||
|
|
@ -83,25 +97,6 @@ else()
|
||||||
message(FATAL_ERROR "Invalid ec implementation: " ${EC_LIB})
|
message(FATAL_ERROR "Invalid ec implementation: " ${EC_LIB})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
add_library( ${LIB_NAME} STATIC ${LIB_SOURCE} )
|
|
||||||
|
|
||||||
# Skip prefix on unix.
|
|
||||||
if (UNIX)
|
|
||||||
set_target_properties(${LIB_NAME} PROPERTIES PREFIX "")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
|
|
||||||
target_link_libraries( ${LIB_NAME}
|
|
||||||
PRIVATE OpenSSL::Crypto
|
|
||||||
)
|
|
||||||
|
|
||||||
target_include_directories( ${LIB_NAME}
|
|
||||||
PRIVATE ${LIB_PRIVATE_INCLUDE}
|
|
||||||
PUBLIC
|
|
||||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/include>
|
|
||||||
$<INSTALL_INTERFACE:include>
|
|
||||||
)
|
|
||||||
|
|
||||||
# --------------------------------
|
# --------------------------------
|
||||||
# Tests
|
# Tests
|
||||||
# --------------------------------
|
# --------------------------------
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue