Skip to content

Commit 77489bf

Browse files
committed
build: allow enabling the musig module in cmake
1 parent c936266 commit 77489bf

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
@@ -59,6 +59,7 @@ option(SECP256K1_ENABLE_MODULE_ECDH "Enable ECDH module." ON)
5959
option(SECP256K1_ENABLE_MODULE_RECOVERY "Enable ECDSA pubkey recovery module." OFF)
6060
option(SECP256K1_ENABLE_MODULE_EXTRAKEYS "Enable extrakeys module." ON)
6161
option(SECP256K1_ENABLE_MODULE_SCHNORRSIG "Enable schnorrsig module." ON)
62+
option(SECP256K1_ENABLE_MODULE_MUSIG "Enable musig module." ON)
6263
option(SECP256K1_ENABLE_MODULE_ELLSWIFT "Enable ElligatorSwift module." ON)
6364

6465
# Processing must be done in a topological sorting of the dependency graph
@@ -67,6 +68,14 @@ if(SECP256K1_ENABLE_MODULE_ELLSWIFT)
6768
add_compile_definitions(ENABLE_MODULE_ELLSWIFT=1)
6869
endif()
6970

71+
if(SECP256K1_ENABLE_MODULE_MUSIG)
72+
if(DEFINED SECP256K1_ENABLE_MODULE_SCHNORRSIG AND NOT SECP256K1_ENABLE_MODULE_SCHNORRSIG)
73+
message(FATAL_ERROR "Module dependency error: You have disabled the schnorrsig module explicitly, but it is required by the musig module.")
74+
endif()
75+
set(SECP256K1_ENABLE_MODULE_SCHNORRSIG ON)
76+
add_compile_definitions(ENABLE_MODULE_MUSIG=1)
77+
endif()
78+
7079
if(SECP256K1_ENABLE_MODULE_SCHNORRSIG)
7180
if(DEFINED SECP256K1_ENABLE_MODULE_EXTRAKEYS AND NOT SECP256K1_ENABLE_MODULE_EXTRAKEYS)
7281
message(FATAL_ERROR "Module dependency error: You have disabled the extrakeys module explicitly, but it is required by the schnorrsig module.")
@@ -300,6 +309,7 @@ message(" ECDH ................................ ${SECP256K1_ENABLE_MODULE_ECDH}
300309
message(" ECDSA pubkey recovery ............... ${SECP256K1_ENABLE_MODULE_RECOVERY}")
301310
message(" extrakeys ........................... ${SECP256K1_ENABLE_MODULE_EXTRAKEYS}")
302311
message(" schnorrsig .......................... ${SECP256K1_ENABLE_MODULE_SCHNORRSIG}")
312+
message(" musig ............................... ${SECP256K1_ENABLE_MODULE_MUSIG}")
303313
message(" ElligatorSwift ...................... ${SECP256K1_ENABLE_MODULE_ELLSWIFT}")
304314
message("Parameters:")
305315
message(" ecmult window size .................. ${SECP256K1_ECMULT_WINDOW_SIZE}")

examples/CMakeLists.txt

+4
Original file line numberDiff line numberDiff line change
@@ -28,3 +28,7 @@ endif()
2828
if(SECP256K1_ENABLE_MODULE_SCHNORRSIG)
2929
add_example(schnorr)
3030
endif()
31+
32+
if(SECP256K1_ENABLE_MODULE_MUSIG)
33+
add_example(musig)
34+
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)