Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.

CMakeLists.txt 1.2 KiB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. include_directories(. .. ../../include)
  2. if (${ARCH} STREQUAL "x86_64")
  3. set(
  4. BN_ARCH_SOURCES
  5. x86_64-mont.${ASM_EXT}
  6. x86_64-mont5.${ASM_EXT}
  7. rsaz-x86_64.${ASM_EXT}
  8. rsaz-avx2.${ASM_EXT}
  9. rsaz_exp.c
  10. )
  11. endif()
  12. if (${ARCH} STREQUAL "x86")
  13. set(
  14. BN_ARCH_SOURCES
  15. bn-586.${ASM_EXT}
  16. co-586.${ASM_EXT}
  17. x86-mont.${ASM_EXT}
  18. )
  19. endif()
  20. if (${ARCH} STREQUAL "arm")
  21. set(
  22. BN_ARCH_SOURCES
  23. armv4-mont.${ASM_EXT}
  24. )
  25. endif()
  26. add_library(
  27. bn
  28. OBJECT
  29. add.c
  30. asm/x86_64-gcc.c
  31. bn.c
  32. cmp.c
  33. convert.c
  34. ctx.c
  35. div.c
  36. exponentiation.c
  37. generic.c
  38. gcd.c
  39. kronecker.c
  40. montgomery.c
  41. mul.c
  42. prime.c
  43. random.c
  44. shift.c
  45. sqrt.c
  46. ${BN_ARCH_SOURCES}
  47. )
  48. perlasm(x86_64-mont.${ASM_EXT} asm/x86_64-mont.pl)
  49. perlasm(x86_64-mont5.${ASM_EXT} asm/x86_64-mont5.pl)
  50. perlasm(rsaz-x86_64.${ASM_EXT} asm/rsaz-x86_64.pl)
  51. perlasm(rsaz-avx2.${ASM_EXT} asm/rsaz-avx2.pl)
  52. perlasm(bn-586.${ASM_EXT} asm/bn-586.pl)
  53. perlasm(co-586.${ASM_EXT} asm/co-586.pl)
  54. perlasm(x86-mont.${ASM_EXT} asm/x86-mont.pl)
  55. perlasm(armv4-mont.${ASM_EXT} asm/armv4-mont.pl)
  56. add_executable(
  57. bn_test
  58. bn_test.cc
  59. $<TARGET_OBJECTS:test_support>
  60. )
  61. target_link_libraries(bn_test crypto)