blob: bc22f2682e7b0222531ec8fc799dca840cb0cd50 [file] [log] [blame]
Paul Bakkerb1dee1c2011-12-11 11:29:51 +00001option(USE_SHARED_POLARSSL_LIBRARY "Build PolarSSL as a shared library." OFF)
Paul Bakker9d3a7e42011-01-05 15:24:43 +00002
3set(src
Paul Bakker396c52f2009-07-11 19:54:40 +00004 aes.c
Paul Bakker367dae42009-06-28 21:50:27 +00005 arc4.c
Paul Bakkerefc30292011-11-10 14:43:23 +00006 asn1parse.c
Paul Bakkerbdb912d2012-02-13 23:11:30 +00007 asn1write.c
Paul Bakker396c52f2009-07-11 19:54:40 +00008 base64.c
9 bignum.c
Paul Bakkera9379c02012-07-04 11:02:11 +000010 blowfish.c
Paul Bakker396c52f2009-07-11 19:54:40 +000011 camellia.c
Paul Bakker367dae42009-06-28 21:50:27 +000012 certs.c
Paul Bakker8123e9d2011-01-06 15:37:30 +000013 cipher.c
14 cipher_wrap.c
Paul Bakker0e04d0e2011-11-27 14:46:59 +000015 ctr_drbg.c
Paul Bakker396c52f2009-07-11 19:54:40 +000016 debug.c
17 des.c
Paul Bakker367dae42009-06-28 21:50:27 +000018 dhm.c
Manuel Pégourié-Gonnard39d2adb2012-10-31 09:26:55 +010019 ecp.c
Manuel Pégourié-Gonnard0bad5c22013-01-26 15:30:46 +010020 ecdh.c
Manuel Pégourié-Gonnard2aea1412013-01-26 16:33:44 +010021 ecdsa.c
Paul Bakker6083fd22011-12-03 21:45:14 +000022 entropy.c
23 entropy_poll.c
Paul Bakker9d781402011-05-09 16:17:09 +000024 error.c
Paul Bakker89e80c92012-03-20 13:50:09 +000025 gcm.c
Paul Bakker396c52f2009-07-11 19:54:40 +000026 havege.c
Paul Bakker17373852011-01-06 14:20:01 +000027 md.c
28 md_wrap.c
Paul Bakker396c52f2009-07-11 19:54:40 +000029 md2.c
Paul Bakker367dae42009-06-28 21:50:27 +000030 md4.c
Paul Bakker396c52f2009-07-11 19:54:40 +000031 md5.c
Paul Bakker6e339b52013-07-03 13:37:05 +020032 memory.c
33 memory_buffer_alloc.c
Paul Bakker396c52f2009-07-11 19:54:40 +000034 net.c
Paul Bakkerc70b9822013-04-07 22:00:46 +020035 oid.c
Paul Bakker396c52f2009-07-11 19:54:40 +000036 padlock.c
Paul Bakkerf518b162012-08-23 13:03:18 +000037 pbkdf2.c
Paul Bakker5a1494f2011-02-25 09:48:49 +000038 pem.c
Paul Bakkerb0c19a42013-06-24 19:26:38 +020039 pkcs5.c
Paul Bakkerb06819b2011-01-18 16:18:38 +000040 pkcs11.c
Paul Bakkerf1f21fe2013-06-24 19:17:19 +020041 pkcs12.c
Manuel Pégourié-Gonnard12e0ed92013-07-04 13:31:32 +020042 pk.c
Manuel Pégourié-Gonnardd73b3c12013-08-12 17:06:05 +020043 pk_wrap.c
Paul Bakker1a7550a2013-09-15 13:01:22 +020044 pkparse.c
Paul Bakkerc7bb02b2013-09-15 14:54:56 +020045 pkwrite.c
Paul Bakker396c52f2009-07-11 19:54:40 +000046 rsa.c
47 sha1.c
Paul Bakkerd2681d82013-06-30 14:49:12 +020048 sha256.c
49 sha512.c
Paul Bakker0a597072012-09-25 21:55:46 +000050 ssl_cache.c
Paul Bakker68884e32013-01-07 18:20:04 +010051 ssl_ciphersuites.c
Paul Bakker7c6b2c32013-09-16 13:49:26 +020052 ssl_cli.c
53 ssl_srv.c
Paul Bakker396c52f2009-07-11 19:54:40 +000054 ssl_tls.c
Paul Bakker2466d932013-09-28 14:40:38 +020055 threading.c
Paul Bakker396c52f2009-07-11 19:54:40 +000056 timing.c
Paul Bakker3ac1b2d2010-06-18 22:47:29 +000057 version.c
Paul Bakker7c6b2c32013-09-16 13:49:26 +020058 x509.c
59 x509_crt.c
60 x509_crl.c
61 x509_csr.c
62 x509_create.c
Paul Bakker9556d3d2013-09-18 13:50:13 +020063 x509write_crt.c
64 x509write_csr.c
Paul Bakker396c52f2009-07-11 19:54:40 +000065 xtea.c
Paul Bakker367dae42009-06-28 21:50:27 +000066)
Paul Bakker547f73d2011-01-05 15:07:54 +000067
Paul Bakker2a5c7a82012-05-10 21:54:28 +000068if(WIN32)
69set(libs ws2_32)
70endif(WIN32)
71
Paul Bakker9d3a7e42011-01-05 15:24:43 +000072if(NOT USE_SHARED_POLARSSL_LIBRARY)
73
74add_library(polarssl STATIC ${src})
75
76else(NOT USE_SHARED_POLARSSL_LIBRARY)
77
Paul Bakkerb1dee1c2011-12-11 11:29:51 +000078add_library(polarssl SHARED ${src})
Paul Bakkerf18084a2013-09-26 10:07:09 +020079set_target_properties(polarssl PROPERTIES VERSION 1.3.0 SOVERSION 4)
Paul Bakker9d3a7e42011-01-05 15:24:43 +000080
81endif(NOT USE_SHARED_POLARSSL_LIBRARY)
82
Paul Bakker2a5c7a82012-05-10 21:54:28 +000083target_link_libraries(polarssl ${libs})
84
Paul Bakkerb1dee1c2011-12-11 11:29:51 +000085install(TARGETS polarssl
Paul Bakkerc43e3262011-07-06 14:36:44 +000086 DESTINATION ${LIB_INSTALL_DIR}
Paul Bakker547f73d2011-01-05 15:07:54 +000087 PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)