Prepare library split
diff --git a/library/CMakeLists.txt b/library/CMakeLists.txt
index 44fbc13..f721cd9 100644
--- a/library/CMakeLists.txt
+++ b/library/CMakeLists.txt
@@ -2,76 +2,88 @@
 option(USE_SHARED_MBEDTLS_LIBRARY "Build mbed TLS shared library." OFF)
 option(LINK_WITH_PTHREAD "Explicitly link mbed TLS library to pthread." OFF)
 
+set(src_crypto
+    aes.c
+    aesni.c
+    arc4.c
+    asn1parse.c
+    asn1write.c
+    base64.c
+    bignum.c
+    blowfish.c
+    camellia.c
+    ccm.c
+    cipher.c
+    cipher_wrap.c
+    ctr_drbg.c
+    des.c
+    dhm.c
+    ecdh.c
+    ecdsa.c
+    ecp.c
+    ecp_curves.c
+    entropy.c
+    entropy_poll.c
+    error.c
+    gcm.c
+    havege.c
+    hmac_drbg.c
+    md.c
+    md2.c
+    md4.c
+    md5.c
+    md_wrap.c
+    memory_buffer_alloc.c
+    oid.c
+    padlock.c
+    pem.c
+    pk.c
+    pk_wrap.c
+    pkcs12.c
+    pkcs5.c
+    pkparse.c
+    pkwrite.c
+    platform.c
+    ripemd160.c
+    rsa.c
+    sha1.c
+    sha256.c
+    sha512.c
+    threading.c
+    version.c
+    version_features.c
+    xtea.c
+)
+
+set(src_x509
+    certs.c
+    pkcs11.c
+    x509.c
+    x509_create.c
+    x509_crl.c
+    x509_crt.c
+    x509_csr.c
+    x509write_crt.c
+    x509write_csr.c
+)
+
+set(src_tls
+    debug.c
+    net.c
+    ssl_cache.c
+    ssl_ciphersuites.c
+    ssl_cli.c
+    ssl_cookie.c
+    ssl_srv.c
+    ssl_ticket.c
+    ssl_tls.c
+    timing.c
+)
+
 set(src
-     aes.c
-     aesni.c
-     arc4.c
-     asn1parse.c
-     asn1write.c
-     base64.c
-     bignum.c
-     blowfish.c
-     camellia.c
-     ccm.c
-     certs.c
-     cipher.c
-     cipher_wrap.c
-     ctr_drbg.c
-     debug.c
-     des.c
-     dhm.c
-     ecp.c
-     ecp_curves.c
-     ecdh.c
-     ecdsa.c
-     entropy.c
-     entropy_poll.c
-     error.c
-     gcm.c
-     havege.c
-     hmac_drbg.c
-     md.c
-     md_wrap.c
-     md2.c
-     md4.c
-     md5.c
-     memory_buffer_alloc.c
-     net.c
-     oid.c
-     padlock.c
-     pem.c
-     pkcs5.c
-     pkcs11.c
-     pkcs12.c
-     pk.c
-     pk_wrap.c
-     pkparse.c
-     pkwrite.c
-     platform.c
-     ripemd160.c
-     rsa.c
-     sha1.c
-     sha256.c
-     sha512.c
-     ssl_cache.c
-     ssl_cookie.c
-     ssl_ticket.c
-     ssl_ciphersuites.c
-     ssl_cli.c
-     ssl_srv.c
-     ssl_tls.c
-     threading.c
-     timing.c
-     version.c
-     version_features.c
-     x509.c
-     x509_crt.c
-     x509_crl.c
-     x509_csr.c
-     x509_create.c
-     x509write_crt.c
-     x509write_csr.c
-     xtea.c
+    ${src_crypto}
+    ${src_x509}
+    ${src_tls}
 )
 
 if(WIN32)