Skip to content

Commit 225103b

Browse files
committed
cmake, refactor: De-duplicate test-related code
1 parent d543c0d commit 225103b

File tree

1 file changed

+16
-8
lines changed

1 file changed

+16
-8
lines changed

src/CMakeLists.txt

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -144,15 +144,23 @@ if(SECP256K1_BUILD_TESTS)
144144
list(APPEND TEST_DEFINITIONS SUPPORTS_CONCURRENCY=1)
145145
endif()
146146

147-
add_executable(noverify_tests tests.c)
148-
target_link_libraries(noverify_tests secp256k1_precomputed secp256k1_asm)
149-
target_compile_definitions(noverify_tests PRIVATE ${TEST_DEFINITIONS})
150-
add_test(NAME secp256k1_noverify_tests COMMAND noverify_tests)
147+
function(add_executable_and_tests verify)
148+
if(verify)
149+
set(verify_definition VERIFY)
150+
set(exe_name tests)
151+
else()
152+
set(verify_definition "")
153+
set(exe_name noverify_tests)
154+
endif()
155+
add_executable(${exe_name} tests.c)
156+
target_link_libraries(${exe_name} secp256k1_precomputed secp256k1_asm)
157+
target_compile_definitions(${exe_name} PRIVATE ${verify_definition} ${TEST_DEFINITIONS})
158+
add_test(NAME secp256k1_${exe_name} COMMAND ${exe_name})
159+
endfunction()
160+
161+
add_executable_and_tests(NO)
151162
if(NOT CMAKE_BUILD_TYPE STREQUAL "Coverage")
152-
add_executable(tests tests.c)
153-
target_compile_definitions(tests PRIVATE VERIFY ${TEST_DEFINITIONS})
154-
target_link_libraries(tests secp256k1_precomputed secp256k1_asm)
155-
add_test(NAME secp256k1_tests COMMAND tests)
163+
add_executable_and_tests(YES)
156164
endif()
157165
unset(TEST_DEFINITIONS)
158166
endif()

0 commit comments

Comments
 (0)