1 include_directories(. ../include)
4 set(PERLASM_STYLE macosx)
14 set(PERLASM_STYLE nasm)
16 message("Using win32n")
17 set(PERLASM_STYLE win32n)
20 # On Windows, we use the NASM output, specifically built with Yasm.
22 enable_language(ASM_NASM)
25 function(perlasm dest src)
28 COMMAND perl ${CMAKE_CURRENT_SOURCE_DIR}/${src} ${PERLASM_STYLE} ${ARGN} > ${dest}
31 ${PROJECT_SOURCE_DIR}/crypto/perlasm/x86_64-xlate.pl
32 ${PROJECT_SOURCE_DIR}/crypto/perlasm/x86asm.pl
33 ${PROJECT_SOURCE_DIR}/crypto/perlasm/x86gas.pl
34 ${PROJECT_SOURCE_DIR}/crypto/perlasm/x86masm.pl
35 ${PROJECT_SOURCE_DIR}/crypto/perlasm/x86nasm.pl
40 if (${ARCH} STREQUAL "x86_64")
44 cpu-x86_64-asm.${ASM_EXT}
49 if (${ARCH} STREQUAL "x86")
53 cpu-x86-asm.${ASM_EXT}
58 if (${ARCH} STREQUAL "arm")
62 cpu-x86-asm.${ASM_EXT}
67 # Level 0.1 - depends on nothing outside this set.
68 add_subdirectory(stack)
69 add_subdirectory(lhash)
72 add_subdirectory(base64)
73 add_subdirectory(bytestring)
75 # Level 0.2 - depends on nothing but itself
79 add_subdirectory(modes)
83 add_subdirectory(conf)
84 add_subdirectory(chacha)
85 add_subdirectory(poly1305)
87 # Level 1, depends only on 0.*
88 add_subdirectory(digest)
89 add_subdirectory(cipher)
90 add_subdirectory(rand)
94 add_subdirectory(asn1)
97 add_subdirectory(engine)
100 add_subdirectory(rsa)
102 add_subdirectory(ecdh)
103 add_subdirectory(ecdsa)
104 add_subdirectory(hmac)
107 add_subdirectory(evp)
108 add_subdirectory(pem)
109 add_subdirectory(x509)
110 add_subdirectory(x509v3)
113 add_subdirectory(pkcs8)
129 ${CRYPTO_ARCH_SOURCES}
131 $<TARGET_OBJECTS:stack>
132 $<TARGET_OBJECTS:lhash>
133 $<TARGET_OBJECTS:err>
134 $<TARGET_OBJECTS:base64>
135 $<TARGET_OBJECTS:bytestring>
136 $<TARGET_OBJECTS:sha>
137 $<TARGET_OBJECTS:md4>
138 $<TARGET_OBJECTS:md5>
139 $<TARGET_OBJECTS:digest>
140 $<TARGET_OBJECTS:cipher>
141 $<TARGET_OBJECTS:modes>
142 $<TARGET_OBJECTS:aes>
143 $<TARGET_OBJECTS:des>
144 $<TARGET_OBJECTS:rc4>
145 $<TARGET_OBJECTS:conf>
146 $<TARGET_OBJECTS:chacha>
147 $<TARGET_OBJECTS:poly1305>
148 $<TARGET_OBJECTS:buf>
150 $<TARGET_OBJECTS:bio>
151 $<TARGET_OBJECTS:rand>
152 $<TARGET_OBJECTS:obj>
153 $<TARGET_OBJECTS:asn1>
154 $<TARGET_OBJECTS:engine>
156 $<TARGET_OBJECTS:dsa>
157 $<TARGET_OBJECTS:rsa>
159 $<TARGET_OBJECTS:ecdh>
160 $<TARGET_OBJECTS:ecdsa>
161 $<TARGET_OBJECTS:hmac>
162 $<TARGET_OBJECTS:evp>
163 $<TARGET_OBJECTS:pem>
164 $<TARGET_OBJECTS:x509>
165 $<TARGET_OBJECTS:x509v3>
166 $<TARGET_OBJECTS:pkcs8>
169 perlasm(cpu-x86_64-asm.${ASM_EXT} cpu-x86_64-asm.pl)
170 perlasm(cpu-x86-asm.${ASM_EXT} cpu-x86-asm.pl)