Skip to content

Commit 352cd3b

Browse files
committed
build: allow enabling the musig module in cmake
1 parent 602f2ab commit 352cd3b

File tree

3 files changed

+17
-0
lines changed

3 files changed

+17
-0
lines changed

CMakeLists.txt

+10
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ option(SECP256K1_ENABLE_MODULE_ECDH "Enable ECDH module." ON)
5151
option(SECP256K1_ENABLE_MODULE_RECOVERY "Enable ECDSA pubkey recovery module." OFF)
5252
option(SECP256K1_ENABLE_MODULE_EXTRAKEYS "Enable extrakeys module." ON)
5353
option(SECP256K1_ENABLE_MODULE_SCHNORRSIG "Enable schnorrsig module." ON)
54+
option(SECP256K1_ENABLE_MODULE_MUSIG "Enable musig module." ON)
5455
option(SECP256K1_ENABLE_MODULE_ELLSWIFT "Enable ElligatorSwift module." ON)
5556

5657
# Processing must be done in a topological sorting of the dependency graph
@@ -59,6 +60,14 @@ if(SECP256K1_ENABLE_MODULE_ELLSWIFT)
5960
add_compile_definitions(ENABLE_MODULE_ELLSWIFT=1)
6061
endif()
6162

63+
if(SECP256K1_ENABLE_MODULE_MUSIG)
64+
if(DEFINED SECP256K1_ENABLE_MODULE_SCHNORRSIG AND NOT SECP256K1_ENABLE_MODULE_SCHNORRSIG)
65+
message(FATAL_ERROR "Module dependency error: You have disabled the schnorrsig module explicitly, but it is required by the musig module.")
66+
endif()
67+
set(SECP256K1_ENABLE_MODULE_SCHNORRSIG ON)
68+
add_compile_definitions(ENABLE_MODULE_MUSIG=1)
69+
endif()
70+
6271
if(SECP256K1_ENABLE_MODULE_SCHNORRSIG)
6372
if(DEFINED SECP256K1_ENABLE_MODULE_EXTRAKEYS AND NOT SECP256K1_ENABLE_MODULE_EXTRAKEYS)
6473
message(FATAL_ERROR "Module dependency error: You have disabled the extrakeys module explicitly, but it is required by the schnorrsig module.")
@@ -297,6 +306,7 @@ message(" ECDH ................................ ${SECP256K1_ENABLE_MODULE_ECDH}
297306
message(" ECDSA pubkey recovery ............... ${SECP256K1_ENABLE_MODULE_RECOVERY}")
298307
message(" extrakeys ........................... ${SECP256K1_ENABLE_MODULE_EXTRAKEYS}")
299308
message(" schnorrsig .......................... ${SECP256K1_ENABLE_MODULE_SCHNORRSIG}")
309+
message(" musig ............................... ${SECP256K1_ENABLE_MODULE_MUSIG}")
300310
message(" ElligatorSwift ...................... ${SECP256K1_ENABLE_MODULE_ELLSWIFT}")
301311
message("Parameters:")
302312
message(" ecmult window size .................. ${SECP256K1_ECMULT_WINDOW_SIZE}")

examples/CMakeLists.txt

+4
Original file line numberDiff line numberDiff line change
@@ -32,3 +32,7 @@ endif()
3232
if(SECP256K1_ENABLE_MODULE_ELLSWIFT)
3333
add_example(ellswift)
3434
endif()
35+
36+
if(SECP256K1_ENABLE_MODULE_MUSIG)
37+
add_example(musig)
38+
endif()

src/CMakeLists.txt

+3
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,9 @@ if(SECP256K1_INSTALL)
132132
if(SECP256K1_ENABLE_MODULE_SCHNORRSIG)
133133
list(APPEND ${PROJECT_NAME}_headers "${PROJECT_SOURCE_DIR}/include/secp256k1_schnorrsig.h")
134134
endif()
135+
if(SECP256K1_ENABLE_MODULE_MUSIG)
136+
list(APPEND ${PROJECT_NAME}_headers "${PROJECT_SOURCE_DIR}/include/secp256k1_musig.h")
137+
endif()
135138
if(SECP256K1_ENABLE_MODULE_ELLSWIFT)
136139
list(APPEND ${PROJECT_NAME}_headers "${PROJECT_SOURCE_DIR}/include/secp256k1_ellswift.h")
137140
endif()

0 commit comments

Comments
 (0)