Changeset View
Changeset View
Standalone View
Standalone View
src/secp256k1/CMakeLists.txt
Show First 20 Lines • Show All 93 Lines • ▼ Show 20 Lines | |||||
# ECDH module | # ECDH module | ||||
option(SECP256K1_ENABLE_MODULE_ECDH "Build libsecp256k1's ECDH module" OFF) | option(SECP256K1_ENABLE_MODULE_ECDH "Build libsecp256k1's ECDH module" OFF) | ||||
if(SECP256K1_ENABLE_MODULE_ECDH) | if(SECP256K1_ENABLE_MODULE_ECDH) | ||||
set(ENABLE_MODULE_ECDH 1) | set(ENABLE_MODULE_ECDH 1) | ||||
add_secp256k1_bench(bench_ecdh src/bench_ecdh.c) | add_secp256k1_bench(bench_ecdh src/bench_ecdh.c) | ||||
endif() | endif() | ||||
# Static precomputation for eliptic curve mutliplication | |||||
option(SECP256K1_ECMULT_STATIC_PRECOMPUTATION "Precompute libsecp256k1's eliptic curve mutliplication tables" ON) | |||||
if(SECP256K1_ECMULT_STATIC_PRECOMPUTATION) | |||||
set(USE_ECMULT_STATIC_PRECOMPUTATION 1) | |||||
include(NativeExecutable) | |||||
add_native_executable(gen_context src/gen_context.c) | |||||
add_custom_command( | |||||
OUTPUT ecmult_static_context.h | |||||
COMMAND gen_context | |||||
) | |||||
target_sources(secp256k1 PRIVATE ecmult_static_context.h) | |||||
endif() | |||||
# Generate the config | # Generate the config | ||||
configure_file(src/libsecp256k1-config.h.cmake.in src/libsecp256k1-config.h ESCAPE_QUOTES) | configure_file(src/libsecp256k1-config.h.cmake.in src/libsecp256k1-config.h ESCAPE_QUOTES) | ||||
target_compile_definitions(secp256k1 PRIVATE HAVE_CONFIG_H) | target_compile_definitions(secp256k1 PRIVATE HAVE_CONFIG_H) | ||||
# Tests | # Tests | ||||
option(SECP256K1_BUILD_TEST "Build secp256k1's unit tests" ON) | option(SECP256K1_BUILD_TEST "Build secp256k1's unit tests" ON) | ||||
if(SECP256K1_BUILD_TEST) | if(SECP256K1_BUILD_TEST) | ||||
include(TestSuite) | include(TestSuite) | ||||
Show All 12 Lines | if(SECP256K1_BUILD_TEST) | ||||
# TODO: support coverage. | # TODO: support coverage. | ||||
target_compile_definitions(exhaustive_tests PRIVATE VERIFY) | target_compile_definitions(exhaustive_tests PRIVATE VERIFY) | ||||
endif(SECP256K1_BUILD_TEST) | endif(SECP256K1_BUILD_TEST) | ||||
# Benchmarks | # Benchmarks | ||||
add_secp256k1_bench(bench_verify src/bench_verify.c) | add_secp256k1_bench(bench_verify src/bench_verify.c) | ||||
add_secp256k1_bench(bench_sign src/bench_sign.c) | add_secp256k1_bench(bench_sign src/bench_sign.c) | ||||
add_secp256k1_bench(bench_internal src/bench_internal.c) | add_secp256k1_bench(bench_internal src/bench_internal.c) | ||||
# TODO: emult static precomputation |