github.com/ethereum/go-ethereum@v1.16.1/crypto/secp256k1/libsecp256k1/examples/CMakeLists.txt (about)

     1  function(add_example name)
     2    set(target_name ${name}_example)
     3    add_executable(${target_name} ${name}.c)
     4    target_include_directories(${target_name} PRIVATE
     5      ${PROJECT_SOURCE_DIR}/include
     6    )
     7    target_link_libraries(${target_name}
     8      secp256k1
     9      $<$<PLATFORM_ID:Windows>:bcrypt>
    10    )
    11    set(test_name ${name}_example)
    12    add_test(NAME secp256k1_${test_name} COMMAND ${target_name})
    13  endfunction()
    14  
    15  add_example(ecdsa)
    16  
    17  if(SECP256K1_ENABLE_MODULE_ECDH)
    18    add_example(ecdh)
    19  endif()
    20  
    21  if(SECP256K1_ENABLE_MODULE_SCHNORRSIG)
    22    add_example(schnorr)
    23  endif()
    24  
    25  if(SECP256K1_ENABLE_MODULE_ELLSWIFT)
    26    add_example(ellswift)
    27  endif()
    28  
    29  if(SECP256K1_ENABLE_MODULE_MUSIG)
    30    add_example(musig)
    31  endif()