hasufell | 3c6409b | 2014-03-06 15:49:08 +0100 | [diff] [blame] | 1 | option(USE_STATIC_POLARSSL_LIBRARY "Build PolarSSL static library." ON) |
2 | option(USE_SHARED_POLARSSL_LIBRARY "Build PolarSSL shared library." OFF) | ||||
Paul Bakker | 9d3a7e4 | 2011-01-05 15:24:43 +0000 | [diff] [blame] | 3 | |
4 | set(src | ||||
Paul Bakker | 396c52f | 2009-07-11 19:54:40 +0000 | [diff] [blame] | 5 | aes.c |
Manuel Pégourié-Gonnard | 92ac76f | 2013-12-16 17:12:53 +0100 | [diff] [blame] | 6 | aesni.c |
Paul Bakker | 367dae4 | 2009-06-28 21:50:27 +0000 | [diff] [blame] | 7 | arc4.c |
Paul Bakker | efc3029 | 2011-11-10 14:43:23 +0000 | [diff] [blame] | 8 | asn1parse.c |
Paul Bakker | bdb912d | 2012-02-13 23:11:30 +0000 | [diff] [blame] | 9 | asn1write.c |
Paul Bakker | 396c52f | 2009-07-11 19:54:40 +0000 | [diff] [blame] | 10 | base64.c |
11 | bignum.c | ||||
Paul Bakker | a9379c0 | 2012-07-04 11:02:11 +0000 | [diff] [blame] | 12 | blowfish.c |
Paul Bakker | 396c52f | 2009-07-11 19:54:40 +0000 | [diff] [blame] | 13 | camellia.c |
Paul Bakker | 367dae4 | 2009-06-28 21:50:27 +0000 | [diff] [blame] | 14 | certs.c |
Paul Bakker | 8123e9d | 2011-01-06 15:37:30 +0000 | [diff] [blame] | 15 | cipher.c |
16 | cipher_wrap.c | ||||
Paul Bakker | 0e04d0e | 2011-11-27 14:46:59 +0000 | [diff] [blame] | 17 | ctr_drbg.c |
Paul Bakker | 396c52f | 2009-07-11 19:54:40 +0000 | [diff] [blame] | 18 | debug.c |
19 | des.c | ||||
Paul Bakker | 367dae4 | 2009-06-28 21:50:27 +0000 | [diff] [blame] | 20 | dhm.c |
Manuel Pégourié-Gonnard | 39d2adb | 2012-10-31 09:26:55 +0100 | [diff] [blame] | 21 | ecp.c |
Manuel Pégourié-Gonnard | 32b04c1 | 2013-12-02 15:49:09 +0100 | [diff] [blame] | 22 | ecp_curves.c |
Manuel Pégourié-Gonnard | 0bad5c2 | 2013-01-26 15:30:46 +0100 | [diff] [blame] | 23 | ecdh.c |
Manuel Pégourié-Gonnard | 2aea141 | 2013-01-26 16:33:44 +0100 | [diff] [blame] | 24 | ecdsa.c |
Paul Bakker | 6083fd2 | 2011-12-03 21:45:14 +0000 | [diff] [blame] | 25 | entropy.c |
26 | entropy_poll.c | ||||
Paul Bakker | 9d78140 | 2011-05-09 16:17:09 +0000 | [diff] [blame] | 27 | error.c |
Paul Bakker | 89e80c9 | 2012-03-20 13:50:09 +0000 | [diff] [blame] | 28 | gcm.c |
Paul Bakker | 396c52f | 2009-07-11 19:54:40 +0000 | [diff] [blame] | 29 | havege.c |
Manuel Pégourié-Gonnard | 490bdf3 | 2014-01-27 14:03:10 +0100 | [diff] [blame] | 30 | hmac_drbg.c |
Paul Bakker | 1737385 | 2011-01-06 14:20:01 +0000 | [diff] [blame] | 31 | md.c |
32 | md_wrap.c | ||||
Paul Bakker | 396c52f | 2009-07-11 19:54:40 +0000 | [diff] [blame] | 33 | md2.c |
Paul Bakker | 367dae4 | 2009-06-28 21:50:27 +0000 | [diff] [blame] | 34 | md4.c |
Paul Bakker | 396c52f | 2009-07-11 19:54:40 +0000 | [diff] [blame] | 35 | md5.c |
Paul Bakker | 6e339b5 | 2013-07-03 13:37:05 +0200 | [diff] [blame] | 36 | memory_buffer_alloc.c |
Paul Bakker | 396c52f | 2009-07-11 19:54:40 +0000 | [diff] [blame] | 37 | net.c |
Paul Bakker | c70b982 | 2013-04-07 22:00:46 +0200 | [diff] [blame] | 38 | oid.c |
Paul Bakker | 396c52f | 2009-07-11 19:54:40 +0000 | [diff] [blame] | 39 | padlock.c |
Paul Bakker | f518b16 | 2012-08-23 13:03:18 +0000 | [diff] [blame] | 40 | pbkdf2.c |
Paul Bakker | 5a1494f | 2011-02-25 09:48:49 +0000 | [diff] [blame] | 41 | pem.c |
Paul Bakker | b0c19a4 | 2013-06-24 19:26:38 +0200 | [diff] [blame] | 42 | pkcs5.c |
Paul Bakker | b06819b | 2011-01-18 16:18:38 +0000 | [diff] [blame] | 43 | pkcs11.c |
Paul Bakker | f1f21fe | 2013-06-24 19:17:19 +0200 | [diff] [blame] | 44 | pkcs12.c |
Manuel Pégourié-Gonnard | 12e0ed9 | 2013-07-04 13:31:32 +0200 | [diff] [blame] | 45 | pk.c |
Manuel Pégourié-Gonnard | d73b3c1 | 2013-08-12 17:06:05 +0200 | [diff] [blame] | 46 | pk_wrap.c |
Paul Bakker | 1a7550a | 2013-09-15 13:01:22 +0200 | [diff] [blame] | 47 | pkparse.c |
Paul Bakker | c7bb02b | 2013-09-15 14:54:56 +0200 | [diff] [blame] | 48 | pkwrite.c |
Paul Bakker | 747a83a | 2014-02-01 22:50:07 +0100 | [diff] [blame] | 49 | platform.c |
Paul Bakker | 61b699e | 2014-01-22 13:35:29 +0100 | [diff] [blame] | 50 | ripemd160.c |
Paul Bakker | 396c52f | 2009-07-11 19:54:40 +0000 | [diff] [blame] | 51 | rsa.c |
52 | sha1.c | ||||
Paul Bakker | d2681d8 | 2013-06-30 14:49:12 +0200 | [diff] [blame] | 53 | sha256.c |
54 | sha512.c | ||||
Paul Bakker | 0a59707 | 2012-09-25 21:55:46 +0000 | [diff] [blame] | 55 | ssl_cache.c |
Paul Bakker | 68884e3 | 2013-01-07 18:20:04 +0100 | [diff] [blame] | 56 | ssl_ciphersuites.c |
Paul Bakker | 7c6b2c3 | 2013-09-16 13:49:26 +0200 | [diff] [blame] | 57 | ssl_cli.c |
58 | ssl_srv.c | ||||
Paul Bakker | 396c52f | 2009-07-11 19:54:40 +0000 | [diff] [blame] | 59 | ssl_tls.c |
Paul Bakker | 2466d93 | 2013-09-28 14:40:38 +0200 | [diff] [blame] | 60 | threading.c |
Paul Bakker | 396c52f | 2009-07-11 19:54:40 +0000 | [diff] [blame] | 61 | timing.c |
Paul Bakker | 3ac1b2d | 2010-06-18 22:47:29 +0000 | [diff] [blame] | 62 | version.c |
Paul Bakker | 0f90d7d | 2014-04-30 11:49:44 +0200 | [diff] [blame^] | 63 | version_features.c |
Paul Bakker | 7c6b2c3 | 2013-09-16 13:49:26 +0200 | [diff] [blame] | 64 | x509.c |
65 | x509_crt.c | ||||
66 | x509_crl.c | ||||
67 | x509_csr.c | ||||
68 | x509_create.c | ||||
Paul Bakker | 9556d3d | 2013-09-18 13:50:13 +0200 | [diff] [blame] | 69 | x509write_crt.c |
70 | x509write_csr.c | ||||
Paul Bakker | 396c52f | 2009-07-11 19:54:40 +0000 | [diff] [blame] | 71 | xtea.c |
Paul Bakker | 367dae4 | 2009-06-28 21:50:27 +0000 | [diff] [blame] | 72 | ) |
Paul Bakker | 547f73d | 2011-01-05 15:07:54 +0000 | [diff] [blame] | 73 | |
Paul Bakker | 2a5c7a8 | 2012-05-10 21:54:28 +0000 | [diff] [blame] | 74 | if(WIN32) |
75 | set(libs ws2_32) | ||||
76 | endif(WIN32) | ||||
77 | |||||
Paul Bakker | 76f0311 | 2013-11-28 17:20:04 +0100 | [diff] [blame] | 78 | if(CMAKE_COMPILER_IS_GNUCC) |
79 | set(CMAKE_C_FLAGS_CHECK "${CMAKE_C_FLAGS_CHECK} -Wmissing-declarations -Wmissing-prototypes") | ||||
80 | set(CMAKE_C_FLAGS_CHECKFULL "${CMAKE_C_FLAGS_CHECK} -Wcast-qual") | ||||
81 | endif(CMAKE_COMPILER_IS_GNUCC) | ||||
82 | |||||
hasufell | 3c6409b | 2014-03-06 15:49:08 +0100 | [diff] [blame] | 83 | if (NOT USE_STATIC_POLARSSL_LIBRARY AND NOT USE_SHARED_POLARSSL_LIBRARY) |
84 | message(FATAL_ERROR "Need to choose static or shared polarssl build!") | ||||
85 | endif(NOT USE_STATIC_POLARSSL_LIBRARY AND NOT USE_SHARED_POLARSSL_LIBRARY) | ||||
Paul Bakker | 9d3a7e4 | 2011-01-05 15:24:43 +0000 | [diff] [blame] | 86 | |
hasufell | 3c6409b | 2014-03-06 15:49:08 +0100 | [diff] [blame] | 87 | if(USE_STATIC_POLARSSL_LIBRARY AND USE_SHARED_POLARSSL_LIBRARY) |
88 | # if we build both static an shared, then let | ||||
89 | # tests and programs link to the shared lib target | ||||
90 | set(polarssl_static_target "polarssl_static") | ||||
91 | elseif(USE_STATIC_POLARSSL_LIBRARY) | ||||
92 | set(polarssl_static_target "polarssl") | ||||
93 | endif() | ||||
Paul Bakker | 9d3a7e4 | 2011-01-05 15:24:43 +0000 | [diff] [blame] | 94 | |
hasufell | 3c6409b | 2014-03-06 15:49:08 +0100 | [diff] [blame] | 95 | if(USE_STATIC_POLARSSL_LIBRARY) |
96 | add_library(${polarssl_static_target} STATIC ${src}) | ||||
97 | set_target_properties(${polarssl_static_target} PROPERTIES OUTPUT_NAME polarssl) | ||||
Paul Bakker | 6c1f69b | 2014-03-17 15:11:13 +0100 | [diff] [blame] | 98 | target_link_libraries(${polarssl_static_target} ${libs}) |
99 | |||||
100 | if(ZLIB_FOUND) | ||||
101 | target_link_libraries(${polarssl_static_target} ${ZLIB_LIBRARIES}) | ||||
102 | endif(ZLIB_FOUND) | ||||
103 | |||||
Paul Bakker | 9d3a7e4 | 2011-01-05 15:24:43 +0000 | [diff] [blame] | 104 | |
hasufell | 3c6409b | 2014-03-06 15:49:08 +0100 | [diff] [blame] | 105 | install(TARGETS ${polarssl_static_target} |
106 | DESTINATION ${LIB_INSTALL_DIR} | ||||
107 | PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE) | ||||
108 | endif() | ||||
Paul Bakker | 9d3a7e4 | 2011-01-05 15:24:43 +0000 | [diff] [blame] | 109 | |
hasufell | 3c6409b | 2014-03-06 15:49:08 +0100 | [diff] [blame] | 110 | if(USE_SHARED_POLARSSL_LIBRARY) |
111 | add_library(polarssl SHARED ${src}) | ||||
Paul Bakker | 784b04f | 2014-04-11 15:33:59 +0200 | [diff] [blame] | 112 | set_target_properties(polarssl PROPERTIES VERSION 1.3.6 SOVERSION 6) |
Paul Bakker | 9d3a7e4 | 2011-01-05 15:24:43 +0000 | [diff] [blame] | 113 | |
hasufell | 3c6409b | 2014-03-06 15:49:08 +0100 | [diff] [blame] | 114 | target_link_libraries(polarssl ${libs}) |
Paul Bakker | 2a5c7a8 | 2012-05-10 21:54:28 +0000 | [diff] [blame] | 115 | |
hasufell | 3c6409b | 2014-03-06 15:49:08 +0100 | [diff] [blame] | 116 | if(ZLIB_FOUND) |
117 | target_link_libraries(polarssl ${ZLIB_LIBRARIES}) | ||||
118 | endif(ZLIB_FOUND) | ||||
Steffan Karger | c245834 | 2013-11-14 10:34:46 +0100 | [diff] [blame] | 119 | |
hasufell | 3c6409b | 2014-03-06 15:49:08 +0100 | [diff] [blame] | 120 | install(TARGETS polarssl |
121 | DESTINATION ${LIB_INSTALL_DIR} | ||||
122 | PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE) | ||||
123 | endif(USE_SHARED_POLARSSL_LIBRARY) |