blob: 411c07d8052eb1c682938991d07346d226e8ed50 [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é-Gonnard32b04c12013-12-02 15:49:09 +010020 ecp_curves.c
Manuel Pégourié-Gonnard0bad5c22013-01-26 15:30:46 +010021 ecdh.c
Manuel Pégourié-Gonnard2aea1412013-01-26 16:33:44 +010022 ecdsa.c
Paul Bakker6083fd22011-12-03 21:45:14 +000023 entropy.c
24 entropy_poll.c
Paul Bakker9d781402011-05-09 16:17:09 +000025 error.c
Paul Bakker89e80c92012-03-20 13:50:09 +000026 gcm.c
Paul Bakker396c52f2009-07-11 19:54:40 +000027 havege.c
Paul Bakker17373852011-01-06 14:20:01 +000028 md.c
29 md_wrap.c
Paul Bakker396c52f2009-07-11 19:54:40 +000030 md2.c
Paul Bakker367dae42009-06-28 21:50:27 +000031 md4.c
Paul Bakker396c52f2009-07-11 19:54:40 +000032 md5.c
Paul Bakker6e339b52013-07-03 13:37:05 +020033 memory.c
34 memory_buffer_alloc.c
Paul Bakker396c52f2009-07-11 19:54:40 +000035 net.c
Paul Bakkerc70b9822013-04-07 22:00:46 +020036 oid.c
Paul Bakker396c52f2009-07-11 19:54:40 +000037 padlock.c
Paul Bakkerf518b162012-08-23 13:03:18 +000038 pbkdf2.c
Paul Bakker5a1494f2011-02-25 09:48:49 +000039 pem.c
Paul Bakkerb0c19a42013-06-24 19:26:38 +020040 pkcs5.c
Paul Bakkerb06819b2011-01-18 16:18:38 +000041 pkcs11.c
Paul Bakkerf1f21fe2013-06-24 19:17:19 +020042 pkcs12.c
Manuel Pégourié-Gonnard12e0ed92013-07-04 13:31:32 +020043 pk.c
Manuel Pégourié-Gonnardd73b3c12013-08-12 17:06:05 +020044 pk_wrap.c
Paul Bakker1a7550a2013-09-15 13:01:22 +020045 pkparse.c
Paul Bakkerc7bb02b2013-09-15 14:54:56 +020046 pkwrite.c
Paul Bakker396c52f2009-07-11 19:54:40 +000047 rsa.c
48 sha1.c
Paul Bakkerd2681d82013-06-30 14:49:12 +020049 sha256.c
50 sha512.c
Paul Bakker0a597072012-09-25 21:55:46 +000051 ssl_cache.c
Paul Bakker68884e32013-01-07 18:20:04 +010052 ssl_ciphersuites.c
Paul Bakker7c6b2c32013-09-16 13:49:26 +020053 ssl_cli.c
54 ssl_srv.c
Paul Bakker396c52f2009-07-11 19:54:40 +000055 ssl_tls.c
Paul Bakker2466d932013-09-28 14:40:38 +020056 threading.c
Paul Bakker396c52f2009-07-11 19:54:40 +000057 timing.c
Paul Bakker3ac1b2d2010-06-18 22:47:29 +000058 version.c
Paul Bakker7c6b2c32013-09-16 13:49:26 +020059 x509.c
60 x509_crt.c
61 x509_crl.c
62 x509_csr.c
63 x509_create.c
Paul Bakker9556d3d2013-09-18 13:50:13 +020064 x509write_crt.c
65 x509write_csr.c
Paul Bakker396c52f2009-07-11 19:54:40 +000066 xtea.c
Paul Bakker367dae42009-06-28 21:50:27 +000067)
Paul Bakker547f73d2011-01-05 15:07:54 +000068
Paul Bakker2a5c7a82012-05-10 21:54:28 +000069if(WIN32)
70set(libs ws2_32)
71endif(WIN32)
72
Paul Bakker76f03112013-11-28 17:20:04 +010073if(CMAKE_COMPILER_IS_GNUCC)
74 set(CMAKE_C_FLAGS_CHECK "${CMAKE_C_FLAGS_CHECK} -Wmissing-declarations -Wmissing-prototypes")
75 set(CMAKE_C_FLAGS_CHECKFULL "${CMAKE_C_FLAGS_CHECK} -Wcast-qual")
76endif(CMAKE_COMPILER_IS_GNUCC)
77
Paul Bakker9d3a7e42011-01-05 15:24:43 +000078if(NOT USE_SHARED_POLARSSL_LIBRARY)
79
80add_library(polarssl STATIC ${src})
81
82else(NOT USE_SHARED_POLARSSL_LIBRARY)
83
Paul Bakkerb1dee1c2011-12-11 11:29:51 +000084add_library(polarssl SHARED ${src})
Paul Bakkerf4dc1862013-11-04 17:29:42 +010085set_target_properties(polarssl PROPERTIES VERSION 1.3.2 SOVERSION 5)
Paul Bakker9d3a7e42011-01-05 15:24:43 +000086
87endif(NOT USE_SHARED_POLARSSL_LIBRARY)
88
Paul Bakker2a5c7a82012-05-10 21:54:28 +000089target_link_libraries(polarssl ${libs})
90
Steffan Kargerc2458342013-11-14 10:34:46 +010091if(ZLIB_FOUND)
92target_link_libraries(polarssl ${ZLIB_LIBRARIES})
93endif(ZLIB_FOUND)
94
Paul Bakkerb1dee1c2011-12-11 11:29:51 +000095install(TARGETS polarssl
Paul Bakkerc43e3262011-07-06 14:36:44 +000096 DESTINATION ${LIB_INSTALL_DIR}
Paul Bakker547f73d2011-01-05 15:07:54 +000097 PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)