Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.
 
 
 
 
 
 

164 linhas
3.1 KiB

  1. include_directories(. ../include)
  2. if (UNIX)
  3. set(PERLASM_STYLE elf)
  4. set(ASM_EXT S)
  5. enable_language(ASM)
  6. else()
  7. if (CMAKE_CL_64)
  8. message("Using masm")
  9. set(PERLASM_STYLE masm)
  10. else()
  11. message("Using win32n")
  12. set(PERLASM_STYLE win32n)
  13. endif()
  14. set(ASM_EXT asm)
  15. enable_language(ASM_MASM)
  16. endif()
  17. function(perlasm dest src)
  18. add_custom_command(
  19. OUTPUT ${dest}
  20. COMMAND perl ${CMAKE_CURRENT_SOURCE_DIR}/${src} ${PERLASM_STYLE} ${ARGN} > ${dest}
  21. DEPENDS
  22. ${src}
  23. ${PROJECT_SOURCE_DIR}/crypto/perlasm/x86_64-xlate.pl
  24. ${PROJECT_SOURCE_DIR}/crypto/perlasm/x86gas.pl
  25. ${PROJECT_SOURCE_DIR}/crypto/perlasm/x86asm.pl
  26. ${PROJECT_SOURCE_DIR}/crypto/perlasm/x86asm.pl
  27. WORKING_DIRECTORY .
  28. )
  29. endfunction()
  30. if (${ARCH} STREQUAL "x86_64")
  31. set(
  32. CRYPTO_ARCH_SOURCES
  33. cpu-x86_64-asm.${ASM_EXT}
  34. cpu-intel.c
  35. )
  36. endif()
  37. if (${ARCH} STREQUAL "x86")
  38. set(
  39. CRYPTO_ARCH_SOURCES
  40. cpu-x86-asm.${ASM_EXT}
  41. cpu-intel.c
  42. )
  43. endif()
  44. if (${ARCH} STREQUAL "arm")
  45. set(
  46. CRYPTO_ARCH_SOURCES
  47. cpu-x86-asm.${ASM_EXT}
  48. cpu-arm.c
  49. )
  50. endif()
  51. # Level 0.1 - depends on nothing outside this set.
  52. add_subdirectory(stack)
  53. add_subdirectory(lhash)
  54. add_subdirectory(err)
  55. add_subdirectory(buf)
  56. add_subdirectory(comp)
  57. add_subdirectory(base64)
  58. add_subdirectory(bytestring)
  59. # Level 0.2 - depends on nothing but itself
  60. add_subdirectory(sha)
  61. add_subdirectory(md5)
  62. add_subdirectory(modes)
  63. add_subdirectory(aes)
  64. add_subdirectory(des)
  65. add_subdirectory(rc4)
  66. add_subdirectory(conf)
  67. add_subdirectory(chacha)
  68. add_subdirectory(poly1305)
  69. # Level 1, depends only on 0.*
  70. add_subdirectory(digest)
  71. add_subdirectory(cipher)
  72. add_subdirectory(rand)
  73. add_subdirectory(bio)
  74. add_subdirectory(bn)
  75. add_subdirectory(obj)
  76. add_subdirectory(asn1)
  77. # Level 2
  78. add_subdirectory(engine)
  79. add_subdirectory(dh)
  80. add_subdirectory(dsa)
  81. add_subdirectory(rsa)
  82. add_subdirectory(ec)
  83. add_subdirectory(ecdh)
  84. add_subdirectory(ecdsa)
  85. add_subdirectory(hmac)
  86. # Level 3
  87. add_subdirectory(evp)
  88. add_subdirectory(pem)
  89. add_subdirectory(x509)
  90. add_subdirectory(x509v3)
  91. # Level 4
  92. add_subdirectory(pkcs8)
  93. add_library(
  94. crypto
  95. STATIC
  96. crypto_error.c
  97. mem.c
  98. mem_clear.c
  99. thread.c
  100. ex_data.c
  101. ex_data_impl.c
  102. time_support.c
  103. directory_posix.c
  104. directory_win.c
  105. ${CRYPTO_ARCH_SOURCES}
  106. $<TARGET_OBJECTS:stack>
  107. $<TARGET_OBJECTS:lhash>
  108. $<TARGET_OBJECTS:err>
  109. $<TARGET_OBJECTS:comp>
  110. $<TARGET_OBJECTS:base64>
  111. $<TARGET_OBJECTS:bytestring>
  112. $<TARGET_OBJECTS:sha>
  113. $<TARGET_OBJECTS:md5>
  114. $<TARGET_OBJECTS:digest>
  115. $<TARGET_OBJECTS:cipher>
  116. $<TARGET_OBJECTS:modes>
  117. $<TARGET_OBJECTS:aes>
  118. $<TARGET_OBJECTS:des>
  119. $<TARGET_OBJECTS:rc4>
  120. $<TARGET_OBJECTS:conf>
  121. $<TARGET_OBJECTS:chacha>
  122. $<TARGET_OBJECTS:poly1305>
  123. $<TARGET_OBJECTS:buf>
  124. $<TARGET_OBJECTS:bn>
  125. $<TARGET_OBJECTS:bio>
  126. $<TARGET_OBJECTS:rand>
  127. $<TARGET_OBJECTS:obj>
  128. $<TARGET_OBJECTS:asn1>
  129. $<TARGET_OBJECTS:engine>
  130. $<TARGET_OBJECTS:dh>
  131. $<TARGET_OBJECTS:dsa>
  132. $<TARGET_OBJECTS:rsa>
  133. $<TARGET_OBJECTS:ec>
  134. $<TARGET_OBJECTS:ecdh>
  135. $<TARGET_OBJECTS:ecdsa>
  136. $<TARGET_OBJECTS:hmac>
  137. $<TARGET_OBJECTS:evp>
  138. $<TARGET_OBJECTS:pem>
  139. $<TARGET_OBJECTS:x509>
  140. $<TARGET_OBJECTS:x509v3>
  141. $<TARGET_OBJECTS:pkcs8>
  142. )
  143. perlasm(cpu-x86_64-asm.${ASM_EXT} cpu-x86_64-asm.pl)
  144. perlasm(cpu-x86-asm.${ASM_EXT} cpu-x86-asm.pl)