Skip to content

Commit 7e5ad11

Browse files
committed
Cpp examples CMakeLists.txt updated to distinguish between provable examples and examples, which do not have to be proven (because they are to big).
1 parent cf83f24 commit 7e5ad11

File tree

1 file changed

+33
-17
lines changed

1 file changed

+33
-17
lines changed

examples/cpp/CMakeLists.txt

Lines changed: 33 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ add_custom_target(circuit_cpp_examples)
22
add_custom_target(assign_cpp_examples)
33
add_custom_target(prove_cpp_examples)
44

5-
function(add_example example_target)
5+
function(add_example_without_proving example_target)
66
set(prefix ARG)
77
set(noValues "")
88
set(singleValues INPUT)
@@ -52,30 +52,46 @@ function(add_example example_target)
5252

5353
assign_ir(${example_target} ${binary_name} ${ARG_INPUT})
5454
add_dependencies(assign_cpp_examples ${example_target}_assign)
55+
endfunction()
56+
57+
function(add_example_with_proving example_target)
58+
set(prefix ARG)
59+
set(noValues "")
60+
set(singleValues INPUT)
61+
set(multiValues SOURCES)
62+
cmake_parse_arguments(${prefix}
63+
"${noValues}"
64+
"${singleValues}"
65+
"${multiValues}"
66+
${ARGN})
67+
68+
add_example_without_proving(${example_target} ${ARGN})
5569

5670
gen_proof(${example_target} ${ARG_INPUT})
5771
add_dependencies(prove_cpp_examples ${example_target}_prove)
5872
endfunction()
5973

60-
add_example(arithmetics_cpp_example SOURCES arithmetics.cpp INPUT arithmetics.inp)
61-
add_example(integer_arithmetics_cpp_example SOURCES integer_arithmetics.cpp INPUT integer_arithmetics.inp)
62-
add_example(poseidon_cpp_example SOURCES poseidon.cpp INPUT poseidon.inp)
63-
add_example(merkle_tree_poseidon_cpp_example SOURCES merkle_tree_poseidon.cpp INPUT merkle_tree_poseidon.inp)
64-
add_example(merkle_tree_sha2_256_cpp_example SOURCES merkle_tree_sha2_256.cpp INPUT merkle_tree_sha2_256.inp)
65-
add_example(sha256_cpp_example SOURCES sha2_256.cpp INPUT sha2_256.inp)
66-
add_example(balance_cpp_example SOURCES balance.cpp INPUT balance.inp)
67-
add_example(memory_cpp_example SOURCES memory.cpp INPUT memory.inp)
68-
add_example(polynomial_cpp_example SOURCES polynomial.cpp INPUT polynomial.inp)
69-
add_example(pallas_curve_addition_cpp_example
74+
add_example_with_proving(arithmetics_cpp_example SOURCES arithmetics.cpp INPUT arithmetics.inp)
75+
add_example_with_proving(integer_arithmetics_cpp_example SOURCES integer_arithmetics.cpp INPUT integer_arithmetics.inp)
76+
add_example_with_proving(poseidon_cpp_example SOURCES poseidon.cpp INPUT poseidon.inp)
77+
add_example_with_proving(merkle_tree_poseidon_cpp_example SOURCES merkle_tree_poseidon.cpp INPUT merkle_tree_poseidon.inp)
78+
add_example_with_proving(merkle_tree_sha2_256_cpp_example SOURCES merkle_tree_sha2_256.cpp INPUT merkle_tree_sha2_256.inp)
79+
add_example_with_proving(sha256_cpp_example SOURCES sha2_256.cpp INPUT sha2_256.inp)
80+
add_example_with_proving(balance_cpp_example SOURCES balance.cpp INPUT balance.inp)
81+
add_example_with_proving(memory_cpp_example SOURCES memory.cpp INPUT memory.inp)
82+
add_example_with_proving(polynomial_cpp_example SOURCES polynomial.cpp INPUT polynomial.inp)
83+
add_example_with_proving(pallas_curve_addition_cpp_example
7084
SOURCES pallas_curve_examples/pallas_curve_add.cpp
7185
INPUT pallas_curve_examples/pallas_curve_add.inp)
72-
add_example(pallas_curve_multiplication_cpp_example
86+
add_example_with_proving(pallas_curve_multiplication_cpp_example
7387
SOURCES pallas_curve_examples/pallas_curve_mul.cpp
7488
INPUT pallas_curve_examples/pallas_curve_mul.inp)
75-
#add_example(pallas_curve_mul_add_cpp_example
89+
#add_example_with_proving(pallas_curve_mul_add_cpp_example
7690
# SOURCES pallas_curve_examples/pallas_curve_mul_add.cpp
7791
# INPUT pallas_curve_examples/pallas_curve_mul_add.inp)
78-
#add_example(ed25519_curve_add_cpp SOURCES ed25519_curve_add.cpp INPUT ed25519_curve_add.inp)
79-
add_example(ed25519_field_add_cpp SOURCES ed25519_field_add.cpp INPUT ed25519_field_add.inp)
80-
add_example(strlen_cpp_example SOURCES strlen.cpp INPUT strlen.inp)
81-
add_example(balances_tree_cpp_example SOURCES balances_tree.cpp INPUT balances_tree.inp)
92+
#add_example_with_proving(ed25519_curve_add_cpp SOURCES ed25519_curve_add.cpp INPUT ed25519_curve_add.inp)
93+
add_example_with_proving(ed25519_field_add_cpp SOURCES ed25519_field_add.cpp INPUT ed25519_field_add.inp)
94+
add_example_with_proving(strlen_cpp_example SOURCES strlen.cpp INPUT strlen.inp)
95+
96+
#Balances tree example is too big to be proven in a reasonable time
97+
add_example_without_proving(balances_tree_cpp_example SOURCES balances_tree.cpp INPUT balances_tree.inp)

0 commit comments

Comments
 (0)