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