hasufell | 97a11c1 | 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 |
Paul Bakker | 367dae4 | 2009-06-28 21:50:27 +0000 | [diff] [blame] | 6 | arc4.c |
Paul Bakker | efc3029 | 2011-11-10 14:43:23 +0000 | [diff] [blame] | 7 | asn1parse.c |
Paul Bakker | bdb912d | 2012-02-13 23:11:30 +0000 | [diff] [blame] | 8 | asn1write.c |
Paul Bakker | 396c52f | 2009-07-11 19:54:40 +0000 | [diff] [blame] | 9 | base64.c |
| 10 | bignum.c |
Paul Bakker | a9379c0 | 2012-07-04 11:02:11 +0000 | [diff] [blame] | 11 | blowfish.c |
Paul Bakker | 396c52f | 2009-07-11 19:54:40 +0000 | [diff] [blame] | 12 | camellia.c |
Paul Bakker | 367dae4 | 2009-06-28 21:50:27 +0000 | [diff] [blame] | 13 | certs.c |
Paul Bakker | 8123e9d | 2011-01-06 15:37:30 +0000 | [diff] [blame] | 14 | cipher.c |
| 15 | cipher_wrap.c |
Paul Bakker | 0e04d0e | 2011-11-27 14:46:59 +0000 | [diff] [blame] | 16 | ctr_drbg.c |
Paul Bakker | 396c52f | 2009-07-11 19:54:40 +0000 | [diff] [blame] | 17 | debug.c |
| 18 | des.c |
Paul Bakker | 367dae4 | 2009-06-28 21:50:27 +0000 | [diff] [blame] | 19 | dhm.c |
Paul Bakker | 6083fd2 | 2011-12-03 21:45:14 +0000 | [diff] [blame] | 20 | entropy.c |
| 21 | entropy_poll.c |
Paul Bakker | 9d78140 | 2011-05-09 16:17:09 +0000 | [diff] [blame] | 22 | error.c |
Paul Bakker | 89e80c9 | 2012-03-20 13:50:09 +0000 | [diff] [blame] | 23 | gcm.c |
Paul Bakker | 396c52f | 2009-07-11 19:54:40 +0000 | [diff] [blame] | 24 | havege.c |
Paul Bakker | 1737385 | 2011-01-06 14:20:01 +0000 | [diff] [blame] | 25 | md.c |
| 26 | md_wrap.c |
Paul Bakker | 396c52f | 2009-07-11 19:54:40 +0000 | [diff] [blame] | 27 | md2.c |
Paul Bakker | 367dae4 | 2009-06-28 21:50:27 +0000 | [diff] [blame] | 28 | md4.c |
Paul Bakker | 396c52f | 2009-07-11 19:54:40 +0000 | [diff] [blame] | 29 | md5.c |
| 30 | net.c |
| 31 | padlock.c |
Paul Bakker | f518b16 | 2012-08-23 13:03:18 +0000 | [diff] [blame] | 32 | pbkdf2.c |
Paul Bakker | 5a1494f | 2011-02-25 09:48:49 +0000 | [diff] [blame] | 33 | pem.c |
Paul Bakker | 19bd297 | 2013-06-14 12:06:45 +0200 | [diff] [blame] | 34 | pkcs5.c |
Paul Bakker | b06819b | 2011-01-18 16:18:38 +0000 | [diff] [blame] | 35 | pkcs11.c |
Paul Bakker | cf6e95d | 2013-06-12 13:18:15 +0200 | [diff] [blame] | 36 | pkcs12.c |
Paul Bakker | 396c52f | 2009-07-11 19:54:40 +0000 | [diff] [blame] | 37 | rsa.c |
| 38 | sha1.c |
| 39 | sha2.c |
Paul Bakker | 367dae4 | 2009-06-28 21:50:27 +0000 | [diff] [blame] | 40 | sha4.c |
Paul Bakker | 0a59707 | 2012-09-25 21:55:46 +0000 | [diff] [blame] | 41 | ssl_cache.c |
Paul Bakker | 396c52f | 2009-07-11 19:54:40 +0000 | [diff] [blame] | 42 | ssl_cli.c |
| 43 | ssl_srv.c |
| 44 | ssl_tls.c |
| 45 | timing.c |
Paul Bakker | 3ac1b2d | 2010-06-18 22:47:29 +0000 | [diff] [blame] | 46 | version.c |
Paul Bakker | 396c52f | 2009-07-11 19:54:40 +0000 | [diff] [blame] | 47 | x509parse.c |
Paul Bakker | b6ad62d | 2012-03-20 13:41:33 +0000 | [diff] [blame] | 48 | x509write.c |
Paul Bakker | 396c52f | 2009-07-11 19:54:40 +0000 | [diff] [blame] | 49 | xtea.c |
Paul Bakker | 367dae4 | 2009-06-28 21:50:27 +0000 | [diff] [blame] | 50 | ) |
Paul Bakker | 547f73d | 2011-01-05 15:07:54 +0000 | [diff] [blame] | 51 | |
Paul Bakker | 2a5c7a8 | 2012-05-10 21:54:28 +0000 | [diff] [blame] | 52 | if(WIN32) |
| 53 | set(libs ws2_32) |
| 54 | endif(WIN32) |
| 55 | |
hasufell | 97a11c1 | 2014-03-06 15:49:08 +0100 | [diff] [blame] | 56 | if(CMAKE_COMPILER_IS_GNUCC) |
| 57 | set(CMAKE_C_FLAGS_CHECK "${CMAKE_C_FLAGS_CHECK} -Wmissing-declarations -Wmissing-prototypes") |
| 58 | set(CMAKE_C_FLAGS_CHECKFULL "${CMAKE_C_FLAGS_CHECK} -Wcast-qual") |
| 59 | endif(CMAKE_COMPILER_IS_GNUCC) |
Paul Bakker | 9d3a7e4 | 2011-01-05 15:24:43 +0000 | [diff] [blame] | 60 | |
hasufell | 97a11c1 | 2014-03-06 15:49:08 +0100 | [diff] [blame] | 61 | if (NOT USE_STATIC_POLARSSL_LIBRARY AND NOT USE_SHARED_POLARSSL_LIBRARY) |
| 62 | message(FATAL_ERROR "Need to choose static or shared polarssl build!") |
| 63 | endif(NOT USE_STATIC_POLARSSL_LIBRARY AND NOT USE_SHARED_POLARSSL_LIBRARY) |
Paul Bakker | 9d3a7e4 | 2011-01-05 15:24:43 +0000 | [diff] [blame] | 64 | |
hasufell | 97a11c1 | 2014-03-06 15:49:08 +0100 | [diff] [blame] | 65 | if(USE_STATIC_POLARSSL_LIBRARY AND USE_SHARED_POLARSSL_LIBRARY) |
| 66 | # if we build both static an shared, then let |
| 67 | # tests and programs link to the shared lib target |
| 68 | set(polarssl_static_target "polarssl_static") |
| 69 | elseif(USE_STATIC_POLARSSL_LIBRARY) |
| 70 | set(polarssl_static_target "polarssl") |
| 71 | endif() |
Paul Bakker | 9d3a7e4 | 2011-01-05 15:24:43 +0000 | [diff] [blame] | 72 | |
hasufell | 97a11c1 | 2014-03-06 15:49:08 +0100 | [diff] [blame] | 73 | if(USE_STATIC_POLARSSL_LIBRARY) |
| 74 | add_library(${polarssl_static_target} STATIC ${src}) |
| 75 | set_target_properties(${polarssl_static_target} PROPERTIES OUTPUT_NAME polarssl) |
Paul Bakker | 8cb7320 | 2014-03-17 15:11:13 +0100 | [diff] [blame^] | 76 | target_link_libraries(${polarssl_static_target} ${libs}) |
| 77 | |
| 78 | if(ZLIB_FOUND) |
| 79 | target_link_libraries(${polarssl_static_target} ${ZLIB_LIBRARIES}) |
| 80 | endif(ZLIB_FOUND) |
| 81 | |
Paul Bakker | 9d3a7e4 | 2011-01-05 15:24:43 +0000 | [diff] [blame] | 82 | |
hasufell | 97a11c1 | 2014-03-06 15:49:08 +0100 | [diff] [blame] | 83 | install(TARGETS ${polarssl_static_target} |
| 84 | DESTINATION ${LIB_INSTALL_DIR} |
| 85 | PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE) |
| 86 | endif() |
Paul Bakker | 9d3a7e4 | 2011-01-05 15:24:43 +0000 | [diff] [blame] | 87 | |
hasufell | 97a11c1 | 2014-03-06 15:49:08 +0100 | [diff] [blame] | 88 | if(USE_SHARED_POLARSSL_LIBRARY) |
| 89 | add_library(polarssl SHARED ${src}) |
| 90 | set_target_properties(polarssl PROPERTIES VERSION 1.2.10 SOVERSION 3) |
Paul Bakker | 2a5c7a8 | 2012-05-10 21:54:28 +0000 | [diff] [blame] | 91 | |
hasufell | 97a11c1 | 2014-03-06 15:49:08 +0100 | [diff] [blame] | 92 | target_link_libraries(polarssl ${libs}) |
| 93 | |
| 94 | if(ZLIB_FOUND) |
| 95 | target_link_libraries(polarssl ${ZLIB_LIBRARIES}) |
| 96 | endif(ZLIB_FOUND) |
| 97 | |
| 98 | install(TARGETS polarssl |
| 99 | DESTINATION ${LIB_INSTALL_DIR} |
| 100 | PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE) |
| 101 | endif(USE_SHARED_POLARSSL_LIBRARY) |