aboutsummaryrefslogtreecommitdiff
path: root/crypto/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'crypto/CMakeLists.txt')
-rw-r--r--crypto/CMakeLists.txt176
1 files changed, 60 insertions, 116 deletions
diff --git a/crypto/CMakeLists.txt b/crypto/CMakeLists.txt
index 5ee20ff..64bccd8 100644
--- a/crypto/CMakeLists.txt
+++ b/crypto/CMakeLists.txt
@@ -15,11 +15,7 @@ if(HOST_ASM_ELF_ARMV4)
15 add_definitions(-DAES_ASM) 15 add_definitions(-DAES_ASM)
16 add_definitions(-DOPENSSL_BN_ASM_MONT) 16 add_definitions(-DOPENSSL_BN_ASM_MONT)
17 add_definitions(-DGHASH_ASM) 17 add_definitions(-DGHASH_ASM)
18 add_definitions(-DSHA1_ASM)
19 add_definitions(-DSHA256_ASM)
20 add_definitions(-DSHA512_ASM)
21 add_definitions(-DOPENSSL_CPUID_OBJ) 18 add_definitions(-DOPENSSL_CPUID_OBJ)
22 set_property(SOURCE ${ASM_ARMV4_ELF_SRC} PROPERTY LANGUAGE C)
23 set(CRYPTO_SRC ${CRYPTO_SRC} ${ASM_ARMV4_ELF_SRC}) 19 set(CRYPTO_SRC ${CRYPTO_SRC} ${ASM_ARMV4_ELF_SRC})
24endif() 20endif()
25 21
@@ -33,13 +29,8 @@ if(HOST_ASM_ELF_X86_64)
33 bn/modexp512-elf-x86_64.S 29 bn/modexp512-elf-x86_64.S
34 bn/mont-elf-x86_64.S 30 bn/mont-elf-x86_64.S
35 bn/mont5-elf-x86_64.S 31 bn/mont5-elf-x86_64.S
36 md5/md5-elf-x86_64.S
37 modes/ghash-elf-x86_64.S 32 modes/ghash-elf-x86_64.S
38 rc4/rc4-elf-x86_64.S 33 rc4/rc4-elf-x86_64.S
39 sha/sha1-elf-x86_64.S
40 sha/sha256-elf-x86_64.S
41 sha/sha512-elf-x86_64.S
42 cpuid-elf-x86_64.S
43 34
44 bn/arch/amd64/bignum_add.S 35 bn/arch/amd64/bignum_add.S
45 bn/arch/amd64/bignum_cmadd.S 36 bn/arch/amd64/bignum_cmadd.S
@@ -57,24 +48,12 @@ if(HOST_ASM_ELF_X86_64)
57 add_definitions(-DAES_ASM) 48 add_definitions(-DAES_ASM)
58 add_definitions(-DBSAES_ASM) 49 add_definitions(-DBSAES_ASM)
59 add_definitions(-DVPAES_ASM) 50 add_definitions(-DVPAES_ASM)
60 add_definitions(-DHAVE_AES_CBC_ENCRYPT_INTERNAL)
61 add_definitions(-DHAVE_AES_SET_ENCRYPT_KEY_INTERNAL)
62 add_definitions(-DHAVE_AES_SET_DECRYPT_KEY_INTERNAL)
63 add_definitions(-DHAVE_AES_ENCRYPT_INTERNAL)
64 add_definitions(-DHAVE_AES_DECRYPT_INTERNAL)
65 add_definitions(-DOPENSSL_IA32_SSE2) 51 add_definitions(-DOPENSSL_IA32_SSE2)
66 add_definitions(-DOPENSSL_BN_ASM_MONT) 52 add_definitions(-DOPENSSL_BN_ASM_MONT)
67 add_definitions(-DOPENSSL_BN_ASM_MONT5) 53 add_definitions(-DOPENSSL_BN_ASM_MONT5)
68 add_definitions(-DMD5_ASM)
69 add_definitions(-DGHASH_ASM) 54 add_definitions(-DGHASH_ASM)
70 add_definitions(-DRSA_ASM) 55 add_definitions(-DRSA_ASM)
71 add_definitions(-DSHA1_ASM)
72 add_definitions(-DSHA256_ASM)
73 add_definitions(-DSHA512_ASM)
74 add_definitions(-DWHIRLPOOL_ASM)
75 add_definitions(-DOPENSSL_CPUID_OBJ)
76 set(CRYPTO_SRC ${CRYPTO_SRC} ${ASM_X86_64_ELF_SRC}) 56 set(CRYPTO_SRC ${CRYPTO_SRC} ${ASM_X86_64_ELF_SRC})
77 set_property(SOURCE ${ASM_X86_64_ELF_SRC} PROPERTY LANGUAGE C)
78endif() 57endif()
79 58
80if(HOST_ASM_MACOSX_X86_64) 59if(HOST_ASM_MACOSX_X86_64)
@@ -87,13 +66,8 @@ if(HOST_ASM_MACOSX_X86_64)
87 bn/modexp512-macosx-x86_64.S 66 bn/modexp512-macosx-x86_64.S
88 bn/mont-macosx-x86_64.S 67 bn/mont-macosx-x86_64.S
89 bn/mont5-macosx-x86_64.S 68 bn/mont5-macosx-x86_64.S
90 md5/md5-macosx-x86_64.S
91 modes/ghash-macosx-x86_64.S 69 modes/ghash-macosx-x86_64.S
92 rc4/rc4-macosx-x86_64.S 70 rc4/rc4-macosx-x86_64.S
93 sha/sha1-macosx-x86_64.S
94 sha/sha256-macosx-x86_64.S
95 sha/sha512-macosx-x86_64.S
96 cpuid-macosx-x86_64.S
97 71
98 bn/arch/amd64/bignum_add.S 72 bn/arch/amd64/bignum_add.S
99 bn/arch/amd64/bignum_cmadd.S 73 bn/arch/amd64/bignum_cmadd.S
@@ -111,24 +85,12 @@ if(HOST_ASM_MACOSX_X86_64)
111 add_definitions(-DAES_ASM) 85 add_definitions(-DAES_ASM)
112 add_definitions(-DBSAES_ASM) 86 add_definitions(-DBSAES_ASM)
113 add_definitions(-DVPAES_ASM) 87 add_definitions(-DVPAES_ASM)
114 add_definitions(-DHAVE_AES_CBC_ENCRYPT_INTERNAL)
115 add_definitions(-DHAVE_AES_SET_ENCRYPT_KEY_INTERNAL)
116 add_definitions(-DHAVE_AES_SET_DECRYPT_KEY_INTERNAL)
117 add_definitions(-DHAVE_AES_ENCRYPT_INTERNAL)
118 add_definitions(-DHAVE_AES_DECRYPT_INTERNAL)
119 add_definitions(-DOPENSSL_IA32_SSE2) 88 add_definitions(-DOPENSSL_IA32_SSE2)
120 add_definitions(-DOPENSSL_BN_ASM_MONT) 89 add_definitions(-DOPENSSL_BN_ASM_MONT)
121 add_definitions(-DOPENSSL_BN_ASM_MONT5) 90 add_definitions(-DOPENSSL_BN_ASM_MONT5)
122 add_definitions(-DMD5_ASM)
123 add_definitions(-DGHASH_ASM) 91 add_definitions(-DGHASH_ASM)
124 add_definitions(-DRSA_ASM) 92 add_definitions(-DRSA_ASM)
125 add_definitions(-DSHA1_ASM)
126 add_definitions(-DSHA256_ASM)
127 add_definitions(-DSHA512_ASM)
128 add_definitions(-DWHIRLPOOL_ASM)
129 add_definitions(-DOPENSSL_CPUID_OBJ)
130 set(CRYPTO_SRC ${CRYPTO_SRC} ${ASM_X86_64_MACOSX_SRC}) 93 set(CRYPTO_SRC ${CRYPTO_SRC} ${ASM_X86_64_MACOSX_SRC})
131 set_property(SOURCE ${ASM_X86_64_MACOSX_SRC} PROPERTY LANGUAGE C)
132 set_property(SOURCE ${ASM_X86_64_MACOSX_SRC} PROPERTY XCODE_EXPLICIT_FILE_TYPE "sourcecode.asm") 94 set_property(SOURCE ${ASM_X86_64_MACOSX_SRC} PROPERTY XCODE_EXPLICIT_FILE_TYPE "sourcecode.asm")
133endif() 95endif()
134 96
@@ -142,34 +104,18 @@ if(HOST_ASM_MASM_X86_64)
142 #bn/modexp512-masm-x86_64.S 104 #bn/modexp512-masm-x86_64.S
143 #bn/mont-masm-x86_64.S 105 #bn/mont-masm-x86_64.S
144 #bn/mont5-masm-x86_64.S 106 #bn/mont5-masm-x86_64.S
145 md5/md5-masm-x86_64.S
146 modes/ghash-masm-x86_64.S 107 modes/ghash-masm-x86_64.S
147 rc4/rc4-masm-x86_64.S 108 rc4/rc4-masm-x86_64.S
148 sha/sha1-masm-x86_64.S
149 sha/sha256-masm-x86_64.S
150 sha/sha512-masm-x86_64.S
151 cpuid-masm-x86_64.S
152 ) 109 )
153 add_definitions(-Dendbr64=) 110 add_definitions(-Dendbr64=)
154 add_definitions(-DAES_ASM) 111 add_definitions(-DAES_ASM)
155 add_definitions(-DBSAES_ASM) 112 add_definitions(-DBSAES_ASM)
156 add_definitions(-DVPAES_ASM) 113 add_definitions(-DVPAES_ASM)
157 add_definitions(-DHAVE_AES_CBC_ENCRYPT_INTERNAL)
158 add_definitions(-DHAVE_AES_SET_ENCRYPT_KEY_INTERNAL)
159 add_definitions(-DHAVE_AES_SET_DECRYPT_KEY_INTERNAL)
160 add_definitions(-DHAVE_AES_ENCRYPT_INTERNAL)
161 add_definitions(-DHAVE_AES_DECRYPT_INTERNAL)
162 add_definitions(-DOPENSSL_IA32_SSE2) 114 add_definitions(-DOPENSSL_IA32_SSE2)
163 #add_definitions(-DOPENSSL_BN_ASM_MONT) 115 #add_definitions(-DOPENSSL_BN_ASM_MONT)
164 #add_definitions(-DOPENSSL_BN_ASM_MONT5) 116 #add_definitions(-DOPENSSL_BN_ASM_MONT5)
165 add_definitions(-DMD5_ASM)
166 add_definitions(-DGHASH_ASM) 117 add_definitions(-DGHASH_ASM)
167 add_definitions(-DRSA_ASM) 118 add_definitions(-DRSA_ASM)
168 add_definitions(-DSHA1_ASM)
169 add_definitions(-DSHA256_ASM)
170 add_definitions(-DSHA512_ASM)
171 add_definitions(-DWHIRLPOOL_ASM)
172 add_definitions(-DOPENSSL_CPUID_OBJ)
173 set(CRYPTO_SRC ${CRYPTO_SRC} ${ASM_X86_64_MASM_SRC}) 119 set(CRYPTO_SRC ${CRYPTO_SRC} ${ASM_X86_64_MASM_SRC})
174 set_property(SOURCE ${ASM_X86_64_MASM_SRC} PROPERTY LANGUAGE ASM_MASM) 120 set_property(SOURCE ${ASM_X86_64_MASM_SRC} PROPERTY LANGUAGE ASM_MASM)
175endif() 121endif()
@@ -184,50 +130,37 @@ if(HOST_ASM_MINGW64_X86_64)
184 #bn/modexp512-mingw64-x86_64.S 130 #bn/modexp512-mingw64-x86_64.S
185 #bn/mont-mingw64-x86_64.S 131 #bn/mont-mingw64-x86_64.S
186 #bn/mont5-mingw64-x86_64.S 132 #bn/mont5-mingw64-x86_64.S
187 md5/md5-mingw64-x86_64.S
188 modes/ghash-mingw64-x86_64.S 133 modes/ghash-mingw64-x86_64.S
189 rc4/rc4-mingw64-x86_64.S 134 rc4/rc4-mingw64-x86_64.S
190 sha/sha1-mingw64-x86_64.S
191 sha/sha256-mingw64-x86_64.S
192 sha/sha512-mingw64-x86_64.S
193 cpuid-mingw64-x86_64.S
194 ) 135 )
195 add_definitions(-Dendbr32=endbr64) 136 add_definitions(-Dendbr32=endbr64)
196 add_definitions(-DAES_ASM) 137 add_definitions(-DAES_ASM)
197 add_definitions(-DBSAES_ASM) 138 add_definitions(-DBSAES_ASM)
198 add_definitions(-DVPAES_ASM) 139 add_definitions(-DVPAES_ASM)
199 add_definitions(-DHAVE_AES_CBC_ENCRYPT_INTERNAL)
200 add_definitions(-DHAVE_AES_SET_ENCRYPT_KEY_INTERNAL)
201 add_definitions(-DHAVE_AES_SET_DECRYPT_KEY_INTERNAL)
202 add_definitions(-DHAVE_AES_ENCRYPT_INTERNAL)
203 add_definitions(-DHAVE_AES_DECRYPT_INTERNAL)
204 add_definitions(-DOPENSSL_IA32_SSE2) 140 add_definitions(-DOPENSSL_IA32_SSE2)
205 #add_definitions(-DOPENSSL_BN_ASM_MONT) 141 #add_definitions(-DOPENSSL_BN_ASM_MONT)
206 #add_definitions(-DOPENSSL_BN_ASM_MONT5) 142 #add_definitions(-DOPENSSL_BN_ASM_MONT5)
207 add_definitions(-DMD5_ASM)
208 add_definitions(-DGHASH_ASM) 143 add_definitions(-DGHASH_ASM)
209 add_definitions(-DRSA_ASM) 144 add_definitions(-DRSA_ASM)
210 add_definitions(-DSHA1_ASM)
211 add_definitions(-DSHA256_ASM)
212 add_definitions(-DSHA512_ASM)
213 add_definitions(-DWHIRLPOOL_ASM)
214 add_definitions(-DOPENSSL_CPUID_OBJ)
215 set(CRYPTO_SRC ${CRYPTO_SRC} ${ASM_X86_64_MINGW64_SRC}) 145 set(CRYPTO_SRC ${CRYPTO_SRC} ${ASM_X86_64_MINGW64_SRC})
216 set_property(SOURCE ${ASM_X86_64_MINGW64_SRC} PROPERTY LANGUAGE C) 146endif()
147
148if(HOST_AARCH64)
149 set(CRYPTO_SRC ${CRYPTO_SRC} arch/aarch64/crypto_cpu_caps.c)
150elseif(HOST_X86_64)
151 set(CRYPTO_SRC ${CRYPTO_SRC} arch/amd64/crypto_cpu_caps.c)
152elseif(HOST_I386)
153 set(CRYPTO_SRC ${CRYPTO_SRC} arch/i386/crypto_cpu_caps.c)
217endif() 154endif()
218 155
219set( 156set(
220 CRYPTO_SRC 157 CRYPTO_SRC
221 ${CRYPTO_SRC} 158 ${CRYPTO_SRC}
222 cpt_err.c 159 crypto_err.c
223 cryptlib.c 160 crypto_ex_data.c
224 crypto_init.c 161 crypto_init.c
225 cversion.c 162 crypto_legacy.c
226 ex_data.c 163 crypto_memory.c
227 malloc-wrapper.c
228 mem_clr.c
229 mem_dbg.c
230 o_fips.c
231 aes/aes.c 164 aes/aes.c
232 aes/aes_core.c 165 aes/aes_core.c
233 aes/aes_ige.c 166 aes/aes_ige.c
@@ -364,7 +297,6 @@ set(
364 conf/conf_def.c 297 conf/conf_def.c
365 conf/conf_err.c 298 conf/conf_err.c
366 conf/conf_lib.c 299 conf/conf_lib.c
367 conf/conf_mall.c
368 conf/conf_mod.c 300 conf/conf_mod.c
369 conf/conf_sap.c 301 conf/conf_sap.c
370 ct/ct_b64.c 302 ct/ct_b64.c
@@ -379,26 +311,11 @@ set(
379 ct/ct_x509v3.c 311 ct/ct_x509v3.c
380 curve25519/curve25519-generic.c 312 curve25519/curve25519-generic.c
381 curve25519/curve25519.c 313 curve25519/curve25519.c
382 des/cbc_cksm.c 314 des/des.c
383 des/cbc_enc.c 315 des/des_cksum.c
384 des/cfb64ede.c
385 des/cfb64enc.c
386 des/cfb_enc.c
387 des/des_enc.c 316 des/des_enc.c
388 des/ecb3_enc.c 317 des/des_fcrypt.c
389 des/ecb_enc.c 318 des/des_key.c
390 des/ede_cbcm_enc.c
391 des/enc_read.c
392 des/fcrypt.c
393 des/fcrypt_b.c
394 des/ofb64ede.c
395 des/ofb64enc.c
396 des/ofb_enc.c
397 des/pcbc_enc.c
398 des/qud_cksm.c
399 des/set_key.c
400 des/str2key.c
401 des/xcbc_enc.c
402 dh/dh_ameth.c 319 dh/dh_ameth.c
403 dh/dh_asn1.c 320 dh/dh_asn1.c
404 dh/dh_check.c 321 dh/dh_check.c
@@ -419,21 +336,15 @@ set(
419 dsa/dsa_prn.c 336 dsa/dsa_prn.c
420 ec/ec_ameth.c 337 ec/ec_ameth.c
421 ec/ec_asn1.c 338 ec/ec_asn1.c
422 ec/ec_check.c 339 ec/ec_convert.c
423 ec/ec_curve.c 340 ec/ec_curve.c
424 ec/ec_cvt.c
425 ec/ec_err.c 341 ec/ec_err.c
426 ec/ec_key.c 342 ec/ec_key.c
427 ec/ec_kmeth.c
428 ec/ec_lib.c 343 ec/ec_lib.c
429 ec/ec_mult.c 344 ec/ec_mult.c
430 ec/ec_oct.c
431 ec/ec_pmeth.c 345 ec/ec_pmeth.c
432 ec/ec_print.c
433 ec/eck_prn.c 346 ec/eck_prn.c
434 ec/ecp_mont.c 347 ec/ecp_methods.c
435 ec/ecp_oct.c
436 ec/ecp_smpl.c
437 ec/ecx_methods.c 348 ec/ecx_methods.c
438 ecdh/ecdh.c 349 ecdh/ecdh.c
439 ecdsa/ecdsa.c 350 ecdsa/ecdsa.c
@@ -476,7 +387,6 @@ set(
476 evp/m_sha3.c 387 evp/m_sha3.c
477 evp/m_sigver.c 388 evp/m_sigver.c
478 evp/m_sm3.c 389 evp/m_sm3.c
479 evp/m_wp.c
480 evp/p_legacy.c 390 evp/p_legacy.c
481 evp/p_lib.c 391 evp/p_lib.c
482 evp/p_sign.c 392 evp/p_sign.c
@@ -495,6 +405,8 @@ set(
495 lhash/lhash.c 405 lhash/lhash.c
496 md4/md4.c 406 md4/md4.c
497 md5/md5.c 407 md5/md5.c
408 mlkem/mlkem768.c
409 mlkem/mlkem1024.c
498 modes/cbc128.c 410 modes/cbc128.c
499 modes/ccm128.c 411 modes/ccm128.c
500 modes/cfb128.c 412 modes/cfb128.c
@@ -599,8 +511,6 @@ set(
599 ui/ui_err.c 511 ui/ui_err.c
600 ui/ui_lib.c 512 ui/ui_lib.c
601 ui/ui_null.c 513 ui/ui_null.c
602 ui/ui_util.c
603 whrlpool/whirlpool.c
604 x509/by_dir.c 514 x509/by_dir.c
605 x509/by_file.c 515 x509/by_file.c
606 x509/by_mem.c 516 x509/by_mem.c
@@ -641,6 +551,7 @@ set(
641 x509/x509_r2x.c 551 x509/x509_r2x.c
642 x509/x509_req.c 552 x509/x509_req.c
643 x509/x509_set.c 553 x509/x509_set.c
554 x509/x509_siginfo.c
644 x509/x509_skey.c 555 x509/x509_skey.c
645 x509/x509_trs.c 556 x509/x509_trs.c
646 x509/x509_txt.c 557 x509/x509_txt.c
@@ -685,6 +596,14 @@ if(NOT HAVE_FREEZERO)
685 set(COMPAT_SRC ${COMPAT_SRC} compat/freezero.c) 596 set(COMPAT_SRC ${COMPAT_SRC} compat/freezero.c)
686endif() 597endif()
687 598
599if(NOT HAVE_GETDELIM)
600 set(COMPAT_SRC ${COMPAT_SRC} compat/getdelim.c)
601endif()
602
603if(NOT HAVE_GETLINE)
604 set(COMPAT_SRC ${COMPAT_SRC} compat/getline.c)
605endif()
606
688if(NOT HAVE_GETOPT) 607if(NOT HAVE_GETOPT)
689 set(COMPAT_SRC ${COMPAT_SRC} compat/getopt_long.c) 608 set(COMPAT_SRC ${COMPAT_SRC} compat/getopt_long.c)
690endif() 609endif()
@@ -821,6 +740,7 @@ target_include_directories(crypto_obj
821 bio 740 bio
822 bn 741 bn
823 bytestring 742 bytestring
743 conf
824 dh 744 dh
825 dsa 745 dsa
826 curve25519 746 curve25519
@@ -832,6 +752,7 @@ target_include_directories(crypto_obj
832 hidden 752 hidden
833 hmac 753 hmac
834 lhash 754 lhash
755 mlkem
835 modes 756 modes
836 ocsp 757 ocsp
837 pkcs12 758 pkcs12
@@ -845,41 +766,65 @@ target_include_directories(crypto_obj
845 ${CMAKE_BINARY_DIR}/include) 766 ${CMAKE_BINARY_DIR}/include)
846 767
847if(HOST_AARCH64) 768if(HOST_AARCH64)
769 target_include_directories(crypto_obj PRIVATE arch/aarch64/)
848 target_include_directories(crypto_obj PRIVATE bn/arch/aarch64/) 770 target_include_directories(crypto_obj PRIVATE bn/arch/aarch64/)
849elseif(HOST_ARM) 771elseif(HOST_ARM)
772 target_include_directories(crypto_obj PRIVATE arch/arm/)
850 target_include_directories(crypto_obj PRIVATE bn/arch/arm/) 773 target_include_directories(crypto_obj PRIVATE bn/arch/arm/)
851elseif(HOST_I386) 774elseif(HOST_I386)
775 target_include_directories(crypto_obj PRIVATE arch/i386/)
852 target_include_directories(crypto_obj PRIVATE bn/arch/i386/) 776 target_include_directories(crypto_obj PRIVATE bn/arch/i386/)
777elseif(HOST_LOONGARCH64)
778 target_include_directories(crypto_obj PRIVATE arch/loongarch64)
779 target_include_directories(crypto_obj PRIVATE bn/arch/loongarch64)
853elseif(HOST_MIPS64) 780elseif(HOST_MIPS64)
781 target_include_directories(crypto_obj PRIVATE arch/mips64)
854 target_include_directories(crypto_obj PRIVATE bn/arch/mips64) 782 target_include_directories(crypto_obj PRIVATE bn/arch/mips64)
855elseif(HOST_MIPS) 783elseif(HOST_MIPS)
784 target_include_directories(crypto_obj PRIVATE arch/mips)
856 target_include_directories(crypto_obj PRIVATE bn/arch/mips) 785 target_include_directories(crypto_obj PRIVATE bn/arch/mips)
857elseif(HOST_POWERPC) 786elseif(HOST_POWERPC)
787 target_include_directories(crypto_obj PRIVATE arch/powerpc)
858 target_include_directories(crypto_obj PRIVATE bn/arch/powerpc) 788 target_include_directories(crypto_obj PRIVATE bn/arch/powerpc)
859elseif(HOST_POWERPC64) 789elseif(HOST_POWERPC64)
790 target_include_directories(crypto_obj PRIVATE arch/powerpc64)
860 target_include_directories(crypto_obj PRIVATE bn/arch/powerpc64) 791 target_include_directories(crypto_obj PRIVATE bn/arch/powerpc64)
861elseif(HOST_RISCV64) 792elseif(HOST_RISCV64)
793 target_include_directories(crypto_obj PRIVATE arch/riscv64)
862 target_include_directories(crypto_obj PRIVATE bn/arch/riscv64) 794 target_include_directories(crypto_obj PRIVATE bn/arch/riscv64)
863elseif(HOST_SPARC64) 795elseif(HOST_SPARC64)
796 target_include_directories(crypto_obj PRIVATE arch/sparc64)
864 target_include_directories(crypto_obj PRIVATE bn/arch/sparc64) 797 target_include_directories(crypto_obj PRIVATE bn/arch/sparc64)
865elseif(HOST_X86_64) 798elseif(HOST_X86_64)
799 target_include_directories(crypto_obj PRIVATE arch/amd64)
866 target_include_directories(crypto_obj PRIVATE bn/arch/amd64) 800 target_include_directories(crypto_obj PRIVATE bn/arch/amd64)
867endif() 801endif()
868 802
803if(MSVC)
804 # "C4701" - Potentially uninitialized local variable 'name' used
805 set_source_files_properties(bn/bn_convert.c pem/pem_lib.c PROPERTIES
806 COMPILE_OPTIONS /wd4701
807 )
808 # "C4702" - unreachable code
809 set_source_files_properties(pkcs7/pk7_doit.c PROPERTIES
810 COMPILE_OPTIONS /wd4702
811 )
812endif()
813
869add_library(crypto $<TARGET_OBJECTS:crypto_obj> $<TARGET_OBJECTS:compat_obj> empty.c) 814add_library(crypto $<TARGET_OBJECTS:crypto_obj> $<TARGET_OBJECTS:compat_obj> empty.c)
870 815
871export_symbol(crypto ${CMAKE_CURRENT_BINARY_DIR}/crypto_p.sym) 816export_symbol(crypto ${CMAKE_CURRENT_BINARY_DIR}/crypto_p.sym)
872target_link_libraries(crypto ${PLATFORM_LIBS}) 817target_link_libraries(crypto ${PLATFORM_LIBS})
873if (WIN32)
874 set(CRYPTO_POSTFIX -${CRYPTO_MAJOR_VERSION} PARENT_SCOPE)
875endif()
876set_target_properties(crypto PROPERTIES 818set_target_properties(crypto PROPERTIES
877 OUTPUT_NAME crypto${CRYPTO_POSTFIX} 819 OUTPUT_NAME crypto
878 ARCHIVE_OUTPUT_NAME crypto${CRYPTO_POSTFIX} 820 ARCHIVE_OUTPUT_NAME crypto
879 EXPORT_NAME Crypto 821 EXPORT_NAME Crypto
880 VERSION ${CRYPTO_VERSION} 822 VERSION ${CRYPTO_VERSION}
881 SOVERSION ${CRYPTO_MAJOR_VERSION} 823 SOVERSION ${CRYPTO_MAJOR_VERSION}
882) 824)
825if(NOT CMAKE_VERSION VERSION_LESS 3.27.0)
826 set_target_properties(crypto PROPERTIES DLL_NAME_WITH_SOVERSION TRUE)
827endif()
883 828
884target_include_directories( 829target_include_directories(
885 crypto 830 crypto
@@ -919,4 +864,3 @@ if(BUILD_SHARED_LIBS)
919 add_library(crypto-static STATIC $<TARGET_OBJECTS:crypto_obj>) 864 add_library(crypto-static STATIC $<TARGET_OBJECTS:crypto_obj>)
920 target_link_libraries(crypto-static ${PLATFORM_LIBS}) 865 target_link_libraries(crypto-static ${PLATFORM_LIBS})
921endif() 866endif()
922