Move the rest of sources.cmake into util/pregenerate

Bug: 542
Change-Id: I23c3c5c01ae41bd98f605b34e09269a6602a2c49
Reviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/67294
Reviewed-by: Bob Beck <bbe@google.com>
Commit-Queue: David Benjamin <davidben@google.com>
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 1410c43..35fb567 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -15,7 +15,6 @@
   set(CMAKE_GENERATOR_CC cl)
 endif()
 
-include(sources.cmake)
 include(cmake/go.cmake)
 include(cmake/paths.cmake)
 include(gen/sources.cmake)
diff --git a/build.json b/build.json
index 52350b3..8c1de1e 100644
--- a/build.json
+++ b/build.json
@@ -97,7 +97,115 @@
             {"src": "crypto/cipher_extra/asm/chacha20_poly1305_x86_64.pl"}
         ]
     },
+    "pki": {
+        "srcs": [
+            "pki/cert_error_id.cc",
+            "pki/cert_error_params.cc",
+            "pki/cert_errors.cc",
+            "pki/cert_issuer_source_static.cc",
+            "pki/certificate.cc",
+            "pki/certificate_policies.cc",
+            "pki/common_cert_errors.cc",
+            "pki/crl.cc",
+            "pki/encode_values.cc",
+            "pki/extended_key_usage.cc",
+            "pki/general_names.cc",
+            "pki/input.cc",
+            "pki/ip_util.cc",
+            "pki/name_constraints.cc",
+            "pki/ocsp.cc",
+            "pki/ocsp_verify_result.cc",
+            "pki/parse_certificate.cc",
+            "pki/parse_name.cc",
+            "pki/parse_values.cc",
+            "pki/parsed_certificate.cc",
+            "pki/parser.cc",
+            "pki/path_builder.cc",
+            "pki/pem.cc",
+            "pki/revocation_util.cc",
+            "pki/signature_algorithm.cc",
+            "pki/simple_path_builder_delegate.cc",
+            "pki/string_util.cc",
+            "pki/trust_store_collection.cc",
+            "pki/trust_store_in_memory.cc",
+            "pki/trust_store.cc",
+            "pki/verify_certificate_chain.cc",
+            "pki/verify_error.cc",
+            "pki/verify_name_match.cc",
+            "pki/verify_signed_data.cc"
+        ]
+    },
+    "ssl": {
+        "srcs": [
+            "ssl/bio_ssl.cc",
+            "ssl/d1_both.cc",
+            "ssl/d1_lib.cc",
+            "ssl/d1_pkt.cc",
+            "ssl/d1_srtp.cc",
+            "ssl/dtls_method.cc",
+            "ssl/dtls_record.cc",
+            "ssl/encrypted_client_hello.cc",
+            "ssl/extensions.cc",
+            "ssl/handoff.cc",
+            "ssl/handshake_client.cc",
+            "ssl/handshake_server.cc",
+            "ssl/handshake.cc",
+            "ssl/s3_both.cc",
+            "ssl/s3_lib.cc",
+            "ssl/s3_pkt.cc",
+            "ssl/ssl_aead_ctx.cc",
+            "ssl/ssl_asn1.cc",
+            "ssl/ssl_buffer.cc",
+            "ssl/ssl_cert.cc",
+            "ssl/ssl_cipher.cc",
+            "ssl/ssl_credential.cc",
+            "ssl/ssl_file.cc",
+            "ssl/ssl_key_share.cc",
+            "ssl/ssl_lib.cc",
+            "ssl/ssl_privkey.cc",
+            "ssl/ssl_session.cc",
+            "ssl/ssl_stat.cc",
+            "ssl/ssl_transcript.cc",
+            "ssl/ssl_versions.cc",
+            "ssl/ssl_x509.cc",
+            "ssl/t1_enc.cc",
+            "ssl/tls_method.cc",
+            "ssl/tls_record.cc",
+            "ssl/tls13_both.cc",
+            "ssl/tls13_client.cc",
+            "ssl/tls13_enc.cc",
+            "ssl/tls13_server.cc"
+        ]
+    },
+    "decrepit": {
+        "srcs": [
+            "decrepit/bio/base64_bio.c",
+            "decrepit/blowfish/blowfish.c",
+            "decrepit/cast/cast.c",
+            "decrepit/cast/cast_tables.c",
+            "decrepit/cfb/cfb.c",
+            "decrepit/des/cfb64ede.c",
+            "decrepit/dh/dh_decrepit.c",
+            "decrepit/dsa/dsa_decrepit.c",
+            "decrepit/evp/dss1.c",
+            "decrepit/evp/evp_do_all.c",
+            "decrepit/obj/obj_decrepit.c",
+            "decrepit/rc4/rc4_decrepit.c",
+            "decrepit/ripemd/ripemd.c",
+            "decrepit/rsa/rsa_decrepit.c",
+            "decrepit/ssl/ssl_decrepit.c",
+            "decrepit/x509/x509_decrepit.c",
+            "decrepit/xts/xts.c"
+        ]
+    },
     "test_support": {
+        "srcs": [
+            "crypto/test/abi_test.cc",
+            "crypto/test/file_test.cc",
+            "crypto/test/file_util.cc",
+            "crypto/test/test_util.cc",
+            "crypto/test/wycheproof_util.cc"
+        ],
         "perlasm_aarch64": [
             {"src": "crypto/test/asm/trampoline-armv8.pl"}
         ],
@@ -112,6 +220,81 @@
         ]
     },
     "crypto_test": {
+        "srcs": [
+            "crypto/abi_self_test.cc",
+            "crypto/asn1/asn1_test.cc",
+            "crypto/base64/base64_test.cc",
+            "crypto/bio/bio_test.cc",
+            "crypto/blake2/blake2_test.cc",
+            "crypto/buf/buf_test.cc",
+            "crypto/bytestring/bytestring_test.cc",
+            "crypto/chacha/chacha_test.cc",
+            "crypto/cipher_extra/aead_test.cc",
+            "crypto/cipher_extra/cipher_test.cc",
+            "crypto/compiler_test.cc",
+            "crypto/conf/conf_test.cc",
+            "crypto/constant_time_test.cc",
+            "crypto/cpu_arm_linux_test.cc",
+            "crypto/crypto_test.cc",
+            "crypto/curve25519/ed25519_test.cc",
+            "crypto/curve25519/spake25519_test.cc",
+            "crypto/curve25519/x25519_test.cc",
+            "crypto/ecdh_extra/ecdh_test.cc",
+            "crypto/dh_extra/dh_test.cc",
+            "crypto/digest_extra/digest_test.cc",
+            "crypto/dsa/dsa_test.cc",
+            "crypto/err/err_test.cc",
+            "crypto/evp/evp_extra_test.cc",
+            "crypto/evp/evp_test.cc",
+            "crypto/evp/pbkdf_test.cc",
+            "crypto/evp/scrypt_test.cc",
+            "crypto/fipsmodule/aes/aes_test.cc",
+            "crypto/fipsmodule/bn/bn_test.cc",
+            "crypto/fipsmodule/cmac/cmac_test.cc",
+            "crypto/fipsmodule/ec/ec_test.cc",
+            "crypto/fipsmodule/ec/p256-nistz_test.cc",
+            "crypto/fipsmodule/ec/p256_test.cc",
+            "crypto/fipsmodule/ecdsa/ecdsa_test.cc",
+            "crypto/fipsmodule/hkdf/hkdf_test.cc",
+            "crypto/fipsmodule/md5/md5_test.cc",
+            "crypto/fipsmodule/modes/gcm_test.cc",
+            "crypto/fipsmodule/rand/ctrdrbg_test.cc",
+            "crypto/fipsmodule/rand/fork_detect_test.cc",
+            "crypto/fipsmodule/service_indicator/service_indicator_test.cc",
+            "crypto/fipsmodule/sha/sha_test.cc",
+            "crypto/hpke/hpke_test.cc",
+            "crypto/hmac_extra/hmac_test.cc",
+            "crypto/hrss/hrss_test.cc",
+            "crypto/impl_dispatch_test.cc",
+            "crypto/keccak/keccak_test.cc",
+            "crypto/kyber/kyber_test.cc",
+            "crypto/lhash/lhash_test.cc",
+            "crypto/obj/obj_test.cc",
+            "crypto/pem/pem_test.cc",
+            "crypto/pkcs7/pkcs7_test.cc",
+            "crypto/pkcs8/pkcs8_test.cc",
+            "crypto/pkcs8/pkcs12_test.cc",
+            "crypto/poly1305/poly1305_test.cc",
+            "crypto/pool/pool_test.cc",
+            "crypto/rand_extra/rand_test.cc",
+            "crypto/rand_extra/getentropy_test.cc",
+            "crypto/refcount_test.cc",
+            "crypto/rsa_extra/rsa_test.cc",
+            "crypto/self_test.cc",
+            "crypto/stack/stack_test.cc",
+            "crypto/siphash/siphash_test.cc",
+            "crypto/spx/spx_test.cc",
+            "crypto/thread_test.cc",
+            // TODO(crbug.com/boringssl/542): This should be in test_support, so
+            // that all tests can use it. But it depends on GetTestData, which
+            // is not currently usable outside of crypto_test.
+            "crypto/test/file_test_gtest.cc",
+            "crypto/test/gtest_main.cc",
+            "crypto/trust_token/trust_token_test.cc",
+            "crypto/x509/tab_test.cc",
+            "crypto/x509/x509_test.cc",
+            "crypto/x509/x509_time_test.cc"
+        ],
         "data": [
             "crypto/blake2/blake2b256_tests.txt",
             "crypto/cipher_extra/test/*.txt",
@@ -145,7 +328,47 @@
             "third_party/wycheproof_testvectors/*.txt"
         ]
     },
+    "urandom_test": {
+        "srcs": [
+            "crypto/fipsmodule/rand/urandom_test.cc"
+        ]
+    },
     "pki_test": {
+        "srcs": [
+            "crypto/test/gtest_main.cc",
+            "pki/cert_issuer_source_static_unittest.cc",
+            "pki/certificate_unittest.cc",
+            "pki/certificate_policies_unittest.cc",
+            "pki/crl_unittest.cc",
+            "pki/encode_values_unittest.cc",
+            "pki/extended_key_usage_unittest.cc",
+            "pki/general_names_unittest.cc",
+            "pki/input_unittest.cc",
+            "pki/ip_util_unittest.cc",
+            "pki/mock_signature_verify_cache.cc",
+            "pki/name_constraints_unittest.cc",
+            "pki/nist_pkits_unittest.cc",
+            "pki/ocsp_unittest.cc",
+            "pki/parse_certificate_unittest.cc",
+            "pki/parse_name_unittest.cc",
+            "pki/parse_values_unittest.cc",
+            "pki/parsed_certificate_unittest.cc",
+            "pki/parser_unittest.cc",
+            "pki/path_builder_pkits_unittest.cc",
+            "pki/path_builder_unittest.cc",
+            "pki/path_builder_verify_certificate_chain_unittest.cc",
+            "pki/pem_unittest.cc",
+            "pki/signature_algorithm_unittest.cc",
+            "pki/simple_path_builder_delegate_unittest.cc",
+            "pki/string_util_unittest.cc",
+            "pki/test_helpers.cc",
+            "pki/trust_store_collection_unittest.cc",
+            "pki/trust_store_in_memory_unittest.cc",
+            "pki/verify_certificate_chain_pkits_unittest.cc",
+            "pki/verify_certificate_chain_unittest.cc",
+            "pki/verify_name_match_unittest.cc",
+            "pki/verify_signed_data_unittest.cc"
+        ],
         "data": [
             "pki/testdata/cert_issuer_source_static_unittest/*.pem",
             "pki/testdata/certificate_policies_unittest/*.pem",
@@ -166,5 +389,46 @@
             "pki/testdata/verify_unittest/google-leaf.der",
             "pki/testdata/verify_unittest/self-issued.pem"
         ]
+    },
+    "ssl_test": {
+        "srcs": [
+            "crypto/test/gtest_main.cc",
+            "ssl/span_test.cc",
+            "ssl/ssl_c_test.c",
+            "ssl/ssl_test.cc"
+        ]
+    },
+    "decrepit_test": {
+        "srcs": [
+            "crypto/test/gtest_main.cc",
+            "decrepit/blowfish/blowfish_test.cc",
+            "decrepit/cast/cast_test.cc",
+            "decrepit/cfb/cfb_test.cc",
+            "decrepit/des/des_test.cc",
+            "decrepit/evp/evp_test.cc",
+            "decrepit/ripemd/ripemd_test.cc",
+            "decrepit/xts/xts_test.cc"
+        ]
+    },
+    "bssl": {
+        "srcs": [
+            "tool/args.cc",
+            "tool/ciphers.cc",
+            "tool/client.cc",
+            "tool/const.cc",
+            "tool/digest.cc",
+            "tool/fd.cc",
+            "tool/file.cc",
+            "tool/generate_ech.cc",
+            "tool/generate_ed25519.cc",
+            "tool/genrsa.cc",
+            "tool/pkcs12.cc",
+            "tool/rand.cc",
+            "tool/server.cc",
+            "tool/sign.cc",
+            "tool/speed.cc",
+            "tool/tool.cc",
+            "tool/transport_common.cc"
+        ]
     }
 }
diff --git a/gen/sources.cmake b/gen/sources.cmake
index 20b73ef..9153d77 100644
--- a/gen/sources.cmake
+++ b/gen/sources.cmake
@@ -148,6 +148,28 @@
 )
 
 set(
+  BSSL_SOURCES
+
+  tool/args.cc
+  tool/ciphers.cc
+  tool/client.cc
+  tool/const.cc
+  tool/digest.cc
+  tool/fd.cc
+  tool/file.cc
+  tool/generate_ech.cc
+  tool/generate_ed25519.cc
+  tool/genrsa.cc
+  tool/pkcs12.cc
+  tool/rand.cc
+  tool/server.cc
+  tool/sign.cc
+  tool/speed.cc
+  tool/tool.cc
+  tool/transport_common.cc
+)
+
+set(
   CRYPTO_SOURCES
 
   gen/crypto/err_data.c
@@ -190,6 +212,81 @@
 )
 
 set(
+  CRYPTO_TEST_SOURCES
+
+  crypto/abi_self_test.cc
+  crypto/asn1/asn1_test.cc
+  crypto/base64/base64_test.cc
+  crypto/bio/bio_test.cc
+  crypto/blake2/blake2_test.cc
+  crypto/buf/buf_test.cc
+  crypto/bytestring/bytestring_test.cc
+  crypto/chacha/chacha_test.cc
+  crypto/cipher_extra/aead_test.cc
+  crypto/cipher_extra/cipher_test.cc
+  crypto/compiler_test.cc
+  crypto/conf/conf_test.cc
+  crypto/constant_time_test.cc
+  crypto/cpu_arm_linux_test.cc
+  crypto/crypto_test.cc
+  crypto/curve25519/ed25519_test.cc
+  crypto/curve25519/spake25519_test.cc
+  crypto/curve25519/x25519_test.cc
+  crypto/dh_extra/dh_test.cc
+  crypto/digest_extra/digest_test.cc
+  crypto/dsa/dsa_test.cc
+  crypto/ecdh_extra/ecdh_test.cc
+  crypto/err/err_test.cc
+  crypto/evp/evp_extra_test.cc
+  crypto/evp/evp_test.cc
+  crypto/evp/pbkdf_test.cc
+  crypto/evp/scrypt_test.cc
+  crypto/fipsmodule/aes/aes_test.cc
+  crypto/fipsmodule/bn/bn_test.cc
+  crypto/fipsmodule/cmac/cmac_test.cc
+  crypto/fipsmodule/ec/ec_test.cc
+  crypto/fipsmodule/ec/p256-nistz_test.cc
+  crypto/fipsmodule/ec/p256_test.cc
+  crypto/fipsmodule/ecdsa/ecdsa_test.cc
+  crypto/fipsmodule/hkdf/hkdf_test.cc
+  crypto/fipsmodule/md5/md5_test.cc
+  crypto/fipsmodule/modes/gcm_test.cc
+  crypto/fipsmodule/rand/ctrdrbg_test.cc
+  crypto/fipsmodule/rand/fork_detect_test.cc
+  crypto/fipsmodule/service_indicator/service_indicator_test.cc
+  crypto/fipsmodule/sha/sha_test.cc
+  crypto/hmac_extra/hmac_test.cc
+  crypto/hpke/hpke_test.cc
+  crypto/hrss/hrss_test.cc
+  crypto/impl_dispatch_test.cc
+  crypto/keccak/keccak_test.cc
+  crypto/kyber/kyber_test.cc
+  crypto/lhash/lhash_test.cc
+  crypto/obj/obj_test.cc
+  crypto/pem/pem_test.cc
+  crypto/pkcs7/pkcs7_test.cc
+  crypto/pkcs8/pkcs12_test.cc
+  crypto/pkcs8/pkcs8_test.cc
+  crypto/poly1305/poly1305_test.cc
+  crypto/pool/pool_test.cc
+  crypto/rand_extra/getentropy_test.cc
+  crypto/rand_extra/rand_test.cc
+  crypto/refcount_test.cc
+  crypto/rsa_extra/rsa_test.cc
+  crypto/self_test.cc
+  crypto/siphash/siphash_test.cc
+  crypto/spx/spx_test.cc
+  crypto/stack/stack_test.cc
+  crypto/test/file_test_gtest.cc
+  crypto/test/gtest_main.cc
+  crypto/thread_test.cc
+  crypto/trust_token/trust_token_test.cc
+  crypto/x509/tab_test.cc
+  crypto/x509/x509_test.cc
+  crypto/x509/x509_time_test.cc
+)
+
+set(
   CRYPTO_TEST_DATA
 
   crypto/blake2/blake2b256_tests.txt
@@ -433,6 +530,118 @@
 )
 
 set(
+  DECREPIT_SOURCES
+
+  decrepit/bio/base64_bio.c
+  decrepit/blowfish/blowfish.c
+  decrepit/cast/cast.c
+  decrepit/cast/cast_tables.c
+  decrepit/cfb/cfb.c
+  decrepit/des/cfb64ede.c
+  decrepit/dh/dh_decrepit.c
+  decrepit/dsa/dsa_decrepit.c
+  decrepit/evp/dss1.c
+  decrepit/evp/evp_do_all.c
+  decrepit/obj/obj_decrepit.c
+  decrepit/rc4/rc4_decrepit.c
+  decrepit/ripemd/ripemd.c
+  decrepit/rsa/rsa_decrepit.c
+  decrepit/ssl/ssl_decrepit.c
+  decrepit/x509/x509_decrepit.c
+  decrepit/xts/xts.c
+)
+
+set(
+  DECREPIT_TEST_SOURCES
+
+  crypto/test/gtest_main.cc
+  decrepit/blowfish/blowfish_test.cc
+  decrepit/cast/cast_test.cc
+  decrepit/cfb/cfb_test.cc
+  decrepit/des/des_test.cc
+  decrepit/evp/evp_test.cc
+  decrepit/ripemd/ripemd_test.cc
+  decrepit/xts/xts_test.cc
+)
+
+set(
+  PKI_SOURCES
+
+  pki/cert_error_id.cc
+  pki/cert_error_params.cc
+  pki/cert_errors.cc
+  pki/cert_issuer_source_static.cc
+  pki/certificate.cc
+  pki/certificate_policies.cc
+  pki/common_cert_errors.cc
+  pki/crl.cc
+  pki/encode_values.cc
+  pki/extended_key_usage.cc
+  pki/general_names.cc
+  pki/input.cc
+  pki/ip_util.cc
+  pki/name_constraints.cc
+  pki/ocsp.cc
+  pki/ocsp_verify_result.cc
+  pki/parse_certificate.cc
+  pki/parse_name.cc
+  pki/parse_values.cc
+  pki/parsed_certificate.cc
+  pki/parser.cc
+  pki/path_builder.cc
+  pki/pem.cc
+  pki/revocation_util.cc
+  pki/signature_algorithm.cc
+  pki/simple_path_builder_delegate.cc
+  pki/string_util.cc
+  pki/trust_store.cc
+  pki/trust_store_collection.cc
+  pki/trust_store_in_memory.cc
+  pki/verify_certificate_chain.cc
+  pki/verify_error.cc
+  pki/verify_name_match.cc
+  pki/verify_signed_data.cc
+)
+
+set(
+  PKI_TEST_SOURCES
+
+  crypto/test/gtest_main.cc
+  pki/cert_issuer_source_static_unittest.cc
+  pki/certificate_policies_unittest.cc
+  pki/certificate_unittest.cc
+  pki/crl_unittest.cc
+  pki/encode_values_unittest.cc
+  pki/extended_key_usage_unittest.cc
+  pki/general_names_unittest.cc
+  pki/input_unittest.cc
+  pki/ip_util_unittest.cc
+  pki/mock_signature_verify_cache.cc
+  pki/name_constraints_unittest.cc
+  pki/nist_pkits_unittest.cc
+  pki/ocsp_unittest.cc
+  pki/parse_certificate_unittest.cc
+  pki/parse_name_unittest.cc
+  pki/parse_values_unittest.cc
+  pki/parsed_certificate_unittest.cc
+  pki/parser_unittest.cc
+  pki/path_builder_pkits_unittest.cc
+  pki/path_builder_unittest.cc
+  pki/path_builder_verify_certificate_chain_unittest.cc
+  pki/pem_unittest.cc
+  pki/signature_algorithm_unittest.cc
+  pki/simple_path_builder_delegate_unittest.cc
+  pki/string_util_unittest.cc
+  pki/test_helpers.cc
+  pki/trust_store_collection_unittest.cc
+  pki/trust_store_in_memory_unittest.cc
+  pki/verify_certificate_chain_pkits_unittest.cc
+  pki/verify_certificate_chain_unittest.cc
+  pki/verify_name_match_unittest.cc
+  pki/verify_signed_data_unittest.cc
+)
+
+set(
   PKI_TEST_DATA
 
   pki/testdata/cert_issuer_source_static_unittest/c1.pem
@@ -1835,6 +2044,68 @@
 )
 
 set(
+  SSL_SOURCES
+
+  ssl/bio_ssl.cc
+  ssl/d1_both.cc
+  ssl/d1_lib.cc
+  ssl/d1_pkt.cc
+  ssl/d1_srtp.cc
+  ssl/dtls_method.cc
+  ssl/dtls_record.cc
+  ssl/encrypted_client_hello.cc
+  ssl/extensions.cc
+  ssl/handoff.cc
+  ssl/handshake.cc
+  ssl/handshake_client.cc
+  ssl/handshake_server.cc
+  ssl/s3_both.cc
+  ssl/s3_lib.cc
+  ssl/s3_pkt.cc
+  ssl/ssl_aead_ctx.cc
+  ssl/ssl_asn1.cc
+  ssl/ssl_buffer.cc
+  ssl/ssl_cert.cc
+  ssl/ssl_cipher.cc
+  ssl/ssl_credential.cc
+  ssl/ssl_file.cc
+  ssl/ssl_key_share.cc
+  ssl/ssl_lib.cc
+  ssl/ssl_privkey.cc
+  ssl/ssl_session.cc
+  ssl/ssl_stat.cc
+  ssl/ssl_transcript.cc
+  ssl/ssl_versions.cc
+  ssl/ssl_x509.cc
+  ssl/t1_enc.cc
+  ssl/tls13_both.cc
+  ssl/tls13_client.cc
+  ssl/tls13_enc.cc
+  ssl/tls13_server.cc
+  ssl/tls_method.cc
+  ssl/tls_record.cc
+)
+
+set(
+  SSL_TEST_SOURCES
+
+  crypto/test/gtest_main.cc
+  ssl/span_test.cc
+  ssl/ssl_c_test.c
+  ssl/ssl_test.cc
+)
+
+set(
+  TEST_SUPPORT_SOURCES
+
+  crypto/test/abi_test.cc
+  crypto/test/file_test.cc
+  crypto/test/file_util.cc
+  crypto/test/test_util.cc
+  crypto/test/wycheproof_util.cc
+)
+
+set(
   TEST_SUPPORT_SOURCES_ASM
 
   gen/test_support/trampoline-armv4-linux.S
@@ -1853,3 +2124,9 @@
   gen/test_support/trampoline-x86-win.asm
   gen/test_support/trampoline-x86_64-win.asm
 )
+
+set(
+  URANDOM_TEST_SOURCES
+
+  crypto/fipsmodule/rand/urandom_test.cc
+)
diff --git a/gen/sources.json b/gen/sources.json
index 9b0f7af..90b6247 100644
--- a/gen/sources.json
+++ b/gen/sources.json
@@ -128,6 +128,27 @@
       "gen/bcm/x86_64-mont5-win.asm"
     ]
   },
+  "bssl": {
+    "srcs": [
+      "tool/args.cc",
+      "tool/ciphers.cc",
+      "tool/client.cc",
+      "tool/const.cc",
+      "tool/digest.cc",
+      "tool/fd.cc",
+      "tool/file.cc",
+      "tool/generate_ech.cc",
+      "tool/generate_ed25519.cc",
+      "tool/genrsa.cc",
+      "tool/pkcs12.cc",
+      "tool/rand.cc",
+      "tool/server.cc",
+      "tool/sign.cc",
+      "tool/speed.cc",
+      "tool/tool.cc",
+      "tool/transport_common.cc"
+    ]
+  },
   "crypto": {
     "srcs": [
       "gen/crypto/err_data.c"
@@ -164,6 +185,78 @@
     ]
   },
   "crypto_test": {
+    "srcs": [
+      "crypto/abi_self_test.cc",
+      "crypto/asn1/asn1_test.cc",
+      "crypto/base64/base64_test.cc",
+      "crypto/bio/bio_test.cc",
+      "crypto/blake2/blake2_test.cc",
+      "crypto/buf/buf_test.cc",
+      "crypto/bytestring/bytestring_test.cc",
+      "crypto/chacha/chacha_test.cc",
+      "crypto/cipher_extra/aead_test.cc",
+      "crypto/cipher_extra/cipher_test.cc",
+      "crypto/compiler_test.cc",
+      "crypto/conf/conf_test.cc",
+      "crypto/constant_time_test.cc",
+      "crypto/cpu_arm_linux_test.cc",
+      "crypto/crypto_test.cc",
+      "crypto/curve25519/ed25519_test.cc",
+      "crypto/curve25519/spake25519_test.cc",
+      "crypto/curve25519/x25519_test.cc",
+      "crypto/dh_extra/dh_test.cc",
+      "crypto/digest_extra/digest_test.cc",
+      "crypto/dsa/dsa_test.cc",
+      "crypto/ecdh_extra/ecdh_test.cc",
+      "crypto/err/err_test.cc",
+      "crypto/evp/evp_extra_test.cc",
+      "crypto/evp/evp_test.cc",
+      "crypto/evp/pbkdf_test.cc",
+      "crypto/evp/scrypt_test.cc",
+      "crypto/fipsmodule/aes/aes_test.cc",
+      "crypto/fipsmodule/bn/bn_test.cc",
+      "crypto/fipsmodule/cmac/cmac_test.cc",
+      "crypto/fipsmodule/ec/ec_test.cc",
+      "crypto/fipsmodule/ec/p256-nistz_test.cc",
+      "crypto/fipsmodule/ec/p256_test.cc",
+      "crypto/fipsmodule/ecdsa/ecdsa_test.cc",
+      "crypto/fipsmodule/hkdf/hkdf_test.cc",
+      "crypto/fipsmodule/md5/md5_test.cc",
+      "crypto/fipsmodule/modes/gcm_test.cc",
+      "crypto/fipsmodule/rand/ctrdrbg_test.cc",
+      "crypto/fipsmodule/rand/fork_detect_test.cc",
+      "crypto/fipsmodule/service_indicator/service_indicator_test.cc",
+      "crypto/fipsmodule/sha/sha_test.cc",
+      "crypto/hmac_extra/hmac_test.cc",
+      "crypto/hpke/hpke_test.cc",
+      "crypto/hrss/hrss_test.cc",
+      "crypto/impl_dispatch_test.cc",
+      "crypto/keccak/keccak_test.cc",
+      "crypto/kyber/kyber_test.cc",
+      "crypto/lhash/lhash_test.cc",
+      "crypto/obj/obj_test.cc",
+      "crypto/pem/pem_test.cc",
+      "crypto/pkcs7/pkcs7_test.cc",
+      "crypto/pkcs8/pkcs12_test.cc",
+      "crypto/pkcs8/pkcs8_test.cc",
+      "crypto/poly1305/poly1305_test.cc",
+      "crypto/pool/pool_test.cc",
+      "crypto/rand_extra/getentropy_test.cc",
+      "crypto/rand_extra/rand_test.cc",
+      "crypto/refcount_test.cc",
+      "crypto/rsa_extra/rsa_test.cc",
+      "crypto/self_test.cc",
+      "crypto/siphash/siphash_test.cc",
+      "crypto/spx/spx_test.cc",
+      "crypto/stack/stack_test.cc",
+      "crypto/test/file_test_gtest.cc",
+      "crypto/test/gtest_main.cc",
+      "crypto/thread_test.cc",
+      "crypto/trust_token/trust_token_test.cc",
+      "crypto/x509/tab_test.cc",
+      "crypto/x509/x509_test.cc",
+      "crypto/x509/x509_time_test.cc"
+    ],
     "data": [
       "crypto/blake2/blake2b256_tests.txt",
       "crypto/cipher_extra/test/aes_128_cbc_sha1_tls_implicit_iv_tests.txt",
@@ -405,7 +498,113 @@
       "third_party/wycheproof_testvectors/xchacha20_poly1305_test.txt"
     ]
   },
+  "decrepit": {
+    "srcs": [
+      "decrepit/bio/base64_bio.c",
+      "decrepit/blowfish/blowfish.c",
+      "decrepit/cast/cast.c",
+      "decrepit/cast/cast_tables.c",
+      "decrepit/cfb/cfb.c",
+      "decrepit/des/cfb64ede.c",
+      "decrepit/dh/dh_decrepit.c",
+      "decrepit/dsa/dsa_decrepit.c",
+      "decrepit/evp/dss1.c",
+      "decrepit/evp/evp_do_all.c",
+      "decrepit/obj/obj_decrepit.c",
+      "decrepit/rc4/rc4_decrepit.c",
+      "decrepit/ripemd/ripemd.c",
+      "decrepit/rsa/rsa_decrepit.c",
+      "decrepit/ssl/ssl_decrepit.c",
+      "decrepit/x509/x509_decrepit.c",
+      "decrepit/xts/xts.c"
+    ]
+  },
+  "decrepit_test": {
+    "srcs": [
+      "crypto/test/gtest_main.cc",
+      "decrepit/blowfish/blowfish_test.cc",
+      "decrepit/cast/cast_test.cc",
+      "decrepit/cfb/cfb_test.cc",
+      "decrepit/des/des_test.cc",
+      "decrepit/evp/evp_test.cc",
+      "decrepit/ripemd/ripemd_test.cc",
+      "decrepit/xts/xts_test.cc"
+    ]
+  },
+  "pki": {
+    "srcs": [
+      "pki/cert_error_id.cc",
+      "pki/cert_error_params.cc",
+      "pki/cert_errors.cc",
+      "pki/cert_issuer_source_static.cc",
+      "pki/certificate.cc",
+      "pki/certificate_policies.cc",
+      "pki/common_cert_errors.cc",
+      "pki/crl.cc",
+      "pki/encode_values.cc",
+      "pki/extended_key_usage.cc",
+      "pki/general_names.cc",
+      "pki/input.cc",
+      "pki/ip_util.cc",
+      "pki/name_constraints.cc",
+      "pki/ocsp.cc",
+      "pki/ocsp_verify_result.cc",
+      "pki/parse_certificate.cc",
+      "pki/parse_name.cc",
+      "pki/parse_values.cc",
+      "pki/parsed_certificate.cc",
+      "pki/parser.cc",
+      "pki/path_builder.cc",
+      "pki/pem.cc",
+      "pki/revocation_util.cc",
+      "pki/signature_algorithm.cc",
+      "pki/simple_path_builder_delegate.cc",
+      "pki/string_util.cc",
+      "pki/trust_store.cc",
+      "pki/trust_store_collection.cc",
+      "pki/trust_store_in_memory.cc",
+      "pki/verify_certificate_chain.cc",
+      "pki/verify_error.cc",
+      "pki/verify_name_match.cc",
+      "pki/verify_signed_data.cc"
+    ]
+  },
   "pki_test": {
+    "srcs": [
+      "crypto/test/gtest_main.cc",
+      "pki/cert_issuer_source_static_unittest.cc",
+      "pki/certificate_policies_unittest.cc",
+      "pki/certificate_unittest.cc",
+      "pki/crl_unittest.cc",
+      "pki/encode_values_unittest.cc",
+      "pki/extended_key_usage_unittest.cc",
+      "pki/general_names_unittest.cc",
+      "pki/input_unittest.cc",
+      "pki/ip_util_unittest.cc",
+      "pki/mock_signature_verify_cache.cc",
+      "pki/name_constraints_unittest.cc",
+      "pki/nist_pkits_unittest.cc",
+      "pki/ocsp_unittest.cc",
+      "pki/parse_certificate_unittest.cc",
+      "pki/parse_name_unittest.cc",
+      "pki/parse_values_unittest.cc",
+      "pki/parsed_certificate_unittest.cc",
+      "pki/parser_unittest.cc",
+      "pki/path_builder_pkits_unittest.cc",
+      "pki/path_builder_unittest.cc",
+      "pki/path_builder_verify_certificate_chain_unittest.cc",
+      "pki/pem_unittest.cc",
+      "pki/signature_algorithm_unittest.cc",
+      "pki/simple_path_builder_delegate_unittest.cc",
+      "pki/string_util_unittest.cc",
+      "pki/test_helpers.cc",
+      "pki/trust_store_collection_unittest.cc",
+      "pki/trust_store_in_memory_unittest.cc",
+      "pki/verify_certificate_chain_pkits_unittest.cc",
+      "pki/verify_certificate_chain_unittest.cc",
+      "pki/verify_name_match_unittest.cc",
+      "pki/verify_signed_data_unittest.cc"
+    ],
     "data": [
       "pki/testdata/cert_issuer_source_static_unittest/c1.pem",
       "pki/testdata/cert_issuer_source_static_unittest/c2.pem",
@@ -1806,7 +2005,64 @@
       "pki/testdata/verify_unittest/self-issued.pem"
     ]
   },
+  "ssl": {
+    "srcs": [
+      "ssl/bio_ssl.cc",
+      "ssl/d1_both.cc",
+      "ssl/d1_lib.cc",
+      "ssl/d1_pkt.cc",
+      "ssl/d1_srtp.cc",
+      "ssl/dtls_method.cc",
+      "ssl/dtls_record.cc",
+      "ssl/encrypted_client_hello.cc",
+      "ssl/extensions.cc",
+      "ssl/handoff.cc",
+      "ssl/handshake.cc",
+      "ssl/handshake_client.cc",
+      "ssl/handshake_server.cc",
+      "ssl/s3_both.cc",
+      "ssl/s3_lib.cc",
+      "ssl/s3_pkt.cc",
+      "ssl/ssl_aead_ctx.cc",
+      "ssl/ssl_asn1.cc",
+      "ssl/ssl_buffer.cc",
+      "ssl/ssl_cert.cc",
+      "ssl/ssl_cipher.cc",
+      "ssl/ssl_credential.cc",
+      "ssl/ssl_file.cc",
+      "ssl/ssl_key_share.cc",
+      "ssl/ssl_lib.cc",
+      "ssl/ssl_privkey.cc",
+      "ssl/ssl_session.cc",
+      "ssl/ssl_stat.cc",
+      "ssl/ssl_transcript.cc",
+      "ssl/ssl_versions.cc",
+      "ssl/ssl_x509.cc",
+      "ssl/t1_enc.cc",
+      "ssl/tls13_both.cc",
+      "ssl/tls13_client.cc",
+      "ssl/tls13_enc.cc",
+      "ssl/tls13_server.cc",
+      "ssl/tls_method.cc",
+      "ssl/tls_record.cc"
+    ]
+  },
+  "ssl_test": {
+    "srcs": [
+      "crypto/test/gtest_main.cc",
+      "ssl/span_test.cc",
+      "ssl/ssl_c_test.c",
+      "ssl/ssl_test.cc"
+    ]
+  },
   "test_support": {
+    "srcs": [
+      "crypto/test/abi_test.cc",
+      "crypto/test/file_test.cc",
+      "crypto/test/file_util.cc",
+      "crypto/test/test_util.cc",
+      "crypto/test/wycheproof_util.cc"
+    ],
     "asm": [
       "gen/test_support/trampoline-armv4-linux.S",
       "gen/test_support/trampoline-armv8-apple.S",
@@ -1821,5 +2077,10 @@
       "gen/test_support/trampoline-x86-win.asm",
       "gen/test_support/trampoline-x86_64-win.asm"
     ]
+  },
+  "urandom_test": {
+    "srcs": [
+      "crypto/fipsmodule/rand/urandom_test.cc"
+    ]
   }
 }
\ No newline at end of file
diff --git a/sources.cmake b/sources.cmake
deleted file mode 100644
index 98d98a1..0000000
--- a/sources.cmake
+++ /dev/null
@@ -1,284 +0,0 @@
-# This file contains source lists that are also consumed by
-# generate_build_files.py.
-#
-# TODO(crbug.com/boringssl/542): Move everything here into util/pregenerate.
-
-set(
-  CRYPTO_TEST_SOURCES
-
-  crypto/abi_self_test.cc
-  crypto/asn1/asn1_test.cc
-  crypto/base64/base64_test.cc
-  crypto/bio/bio_test.cc
-  crypto/blake2/blake2_test.cc
-  crypto/buf/buf_test.cc
-  crypto/bytestring/bytestring_test.cc
-  crypto/chacha/chacha_test.cc
-  crypto/cipher_extra/aead_test.cc
-  crypto/cipher_extra/cipher_test.cc
-  crypto/compiler_test.cc
-  crypto/conf/conf_test.cc
-  crypto/constant_time_test.cc
-  crypto/cpu_arm_linux_test.cc
-  crypto/crypto_test.cc
-  crypto/curve25519/ed25519_test.cc
-  crypto/curve25519/spake25519_test.cc
-  crypto/curve25519/x25519_test.cc
-  crypto/ecdh_extra/ecdh_test.cc
-  crypto/dh_extra/dh_test.cc
-  crypto/digest_extra/digest_test.cc
-  crypto/dsa/dsa_test.cc
-  crypto/err/err_test.cc
-  crypto/evp/evp_extra_test.cc
-  crypto/evp/evp_test.cc
-  crypto/evp/pbkdf_test.cc
-  crypto/evp/scrypt_test.cc
-  crypto/fipsmodule/aes/aes_test.cc
-  crypto/fipsmodule/bn/bn_test.cc
-  crypto/fipsmodule/cmac/cmac_test.cc
-  crypto/fipsmodule/ec/ec_test.cc
-  crypto/fipsmodule/ec/p256-nistz_test.cc
-  crypto/fipsmodule/ec/p256_test.cc
-  crypto/fipsmodule/ecdsa/ecdsa_test.cc
-  crypto/fipsmodule/hkdf/hkdf_test.cc
-  crypto/fipsmodule/md5/md5_test.cc
-  crypto/fipsmodule/modes/gcm_test.cc
-  crypto/fipsmodule/rand/ctrdrbg_test.cc
-  crypto/fipsmodule/rand/fork_detect_test.cc
-  crypto/fipsmodule/service_indicator/service_indicator_test.cc
-  crypto/fipsmodule/sha/sha_test.cc
-  crypto/hpke/hpke_test.cc
-  crypto/hmac_extra/hmac_test.cc
-  crypto/hrss/hrss_test.cc
-  crypto/impl_dispatch_test.cc
-  crypto/keccak/keccak_test.cc
-  crypto/kyber/kyber_test.cc
-  crypto/lhash/lhash_test.cc
-  crypto/obj/obj_test.cc
-  crypto/pem/pem_test.cc
-  crypto/pkcs7/pkcs7_test.cc
-  crypto/pkcs8/pkcs8_test.cc
-  crypto/pkcs8/pkcs12_test.cc
-  crypto/poly1305/poly1305_test.cc
-  crypto/pool/pool_test.cc
-  crypto/rand_extra/rand_test.cc
-  crypto/rand_extra/getentropy_test.cc
-  crypto/refcount_test.cc
-  crypto/rsa_extra/rsa_test.cc
-  crypto/self_test.cc
-  crypto/stack/stack_test.cc
-  crypto/siphash/siphash_test.cc
-  crypto/spx/spx_test.cc
-  crypto/thread_test.cc
-  # TODO(crbug.com/boringssl/542): This should be in TEST_SUPPORT_SOURCES, so
-  # that all tests can use it. But it depends on GetTestData, which is not
-  # currently usable outside of crypto_test.
-  crypto/test/file_test_gtest.cc
-  crypto/test/gtest_main.cc
-  crypto/trust_token/trust_token_test.cc
-  crypto/x509/tab_test.cc
-  crypto/x509/x509_test.cc
-  crypto/x509/x509_time_test.cc
-)
-
-set(
-  URANDOM_TEST_SOURCES
-
-  crypto/fipsmodule/rand/urandom_test.cc
-)
-
-set(
-  SSL_SOURCES
-
-  ssl/bio_ssl.cc
-  ssl/d1_both.cc
-  ssl/d1_lib.cc
-  ssl/d1_pkt.cc
-  ssl/d1_srtp.cc
-  ssl/dtls_method.cc
-  ssl/dtls_record.cc
-  ssl/encrypted_client_hello.cc
-  ssl/extensions.cc
-  ssl/handoff.cc
-  ssl/handshake.cc
-  ssl/handshake_client.cc
-  ssl/handshake_server.cc
-  ssl/s3_both.cc
-  ssl/s3_lib.cc
-  ssl/s3_pkt.cc
-  ssl/ssl_aead_ctx.cc
-  ssl/ssl_asn1.cc
-  ssl/ssl_buffer.cc
-  ssl/ssl_cert.cc
-  ssl/ssl_cipher.cc
-  ssl/ssl_credential.cc
-  ssl/ssl_file.cc
-  ssl/ssl_key_share.cc
-  ssl/ssl_lib.cc
-  ssl/ssl_privkey.cc
-  ssl/ssl_session.cc
-  ssl/ssl_stat.cc
-  ssl/ssl_transcript.cc
-  ssl/ssl_versions.cc
-  ssl/ssl_x509.cc
-  ssl/t1_enc.cc
-  ssl/tls_method.cc
-  ssl/tls_record.cc
-  ssl/tls13_both.cc
-  ssl/tls13_client.cc
-  ssl/tls13_enc.cc
-  ssl/tls13_server.cc
-)
-
-set(
-  SSL_TEST_SOURCES
-
-  crypto/test/gtest_main.cc
-  ssl/span_test.cc
-  ssl/ssl_c_test.c
-  ssl/ssl_test.cc
-)
-
-set(
-  DECREPIT_SOURCES
-
-  decrepit/bio/base64_bio.c
-  decrepit/blowfish/blowfish.c
-  decrepit/cast/cast.c
-  decrepit/cast/cast_tables.c
-  decrepit/cfb/cfb.c
-  decrepit/des/cfb64ede.c
-  decrepit/dh/dh_decrepit.c
-  decrepit/dsa/dsa_decrepit.c
-  decrepit/evp/dss1.c
-  decrepit/evp/evp_do_all.c
-  decrepit/obj/obj_decrepit.c
-  decrepit/rc4/rc4_decrepit.c
-  decrepit/ripemd/ripemd.c
-  decrepit/rsa/rsa_decrepit.c
-  decrepit/ssl/ssl_decrepit.c
-  decrepit/x509/x509_decrepit.c
-  decrepit/xts/xts.c
-)
-
-set(
-  DECREPIT_TEST_SOURCES
-
-  crypto/test/gtest_main.cc
-  decrepit/blowfish/blowfish_test.cc
-  decrepit/cast/cast_test.cc
-  decrepit/cfb/cfb_test.cc
-  decrepit/des/des_test.cc
-  decrepit/evp/evp_test.cc
-  decrepit/ripemd/ripemd_test.cc
-  decrepit/xts/xts_test.cc
-)
-
-set(
-  PKI_SOURCES
-
-  pki/cert_error_id.cc
-  pki/cert_error_params.cc
-  pki/cert_errors.cc
-  pki/cert_issuer_source_static.cc
-  pki/certificate.cc
-  pki/certificate_policies.cc
-  pki/common_cert_errors.cc
-  pki/crl.cc
-  pki/encode_values.cc
-  pki/extended_key_usage.cc
-  pki/general_names.cc
-  pki/input.cc
-  pki/ip_util.cc
-  pki/name_constraints.cc
-  pki/ocsp.cc
-  pki/ocsp_verify_result.cc
-  pki/parse_certificate.cc
-  pki/parse_name.cc
-  pki/parse_values.cc
-  pki/parsed_certificate.cc
-  pki/parser.cc
-  pki/path_builder.cc
-  pki/pem.cc
-  pki/revocation_util.cc
-  pki/signature_algorithm.cc
-  pki/simple_path_builder_delegate.cc
-  pki/string_util.cc
-  pki/trust_store_collection.cc
-  pki/trust_store_in_memory.cc
-  pki/trust_store.cc
-  pki/verify_certificate_chain.cc
-  pki/verify_error.cc
-  pki/verify_name_match.cc
-  pki/verify_signed_data.cc
-)
-
-set(
-  PKI_TEST_SOURCES
-
-  crypto/test/gtest_main.cc
-  pki/cert_issuer_source_static_unittest.cc
-  pki/certificate_unittest.cc
-  pki/certificate_policies_unittest.cc
-  pki/crl_unittest.cc
-  pki/encode_values_unittest.cc
-  pki/extended_key_usage_unittest.cc
-  pki/general_names_unittest.cc
-  pki/input_unittest.cc
-  pki/ip_util_unittest.cc
-  pki/mock_signature_verify_cache.cc
-  pki/name_constraints_unittest.cc
-  pki/nist_pkits_unittest.cc
-  pki/ocsp_unittest.cc
-  pki/parse_certificate_unittest.cc
-  pki/parse_name_unittest.cc
-  pki/parse_values_unittest.cc
-  pki/parsed_certificate_unittest.cc
-  pki/parser_unittest.cc
-  pki/path_builder_pkits_unittest.cc
-  pki/path_builder_unittest.cc
-  pki/path_builder_verify_certificate_chain_unittest.cc
-  pki/pem_unittest.cc
-  pki/signature_algorithm_unittest.cc
-  pki/simple_path_builder_delegate_unittest.cc
-  pki/string_util_unittest.cc
-  pki/test_helpers.cc
-  pki/trust_store_collection_unittest.cc
-  pki/trust_store_in_memory_unittest.cc
-  pki/verify_certificate_chain_pkits_unittest.cc
-  pki/verify_certificate_chain_unittest.cc
-  pki/verify_name_match_unittest.cc
-  pki/verify_signed_data_unittest.cc
-)
-
-set(
-  TEST_SUPPORT_SOURCES
-
-  crypto/test/abi_test.cc
-  crypto/test/file_test.cc
-  crypto/test/file_util.cc
-  crypto/test/test_util.cc
-  crypto/test/wycheproof_util.cc
-)
-
-set(
-  BSSL_SOURCES
-
-  tool/args.cc
-  tool/ciphers.cc
-  tool/client.cc
-  tool/const.cc
-  tool/digest.cc
-  tool/fd.cc
-  tool/file.cc
-  tool/generate_ech.cc
-  tool/generate_ed25519.cc
-  tool/genrsa.cc
-  tool/pkcs12.cc
-  tool/rand.cc
-  tool/server.cc
-  tool/sign.cc
-  tool/speed.cc
-  tool/tool.cc
-  tool/transport_common.cc
-)
diff --git a/util/generate_build_files.py b/util/generate_build_files.py
index 6f18352..9e625c8 100644
--- a/util/generate_build_files.py
+++ b/util/generate_build_files.py
@@ -628,43 +628,11 @@
   return hfiles
 
 
-def ExtractVariablesFromCMakeFile(cmakefile):
-  """Parses the contents of the CMakeLists.txt file passed as an argument and
-  returns a dictionary of exported source lists."""
-  variables = {}
-  in_set_command = False
-  set_command = []
-  with open(cmakefile) as f:
-    for line in f:
-      if '#' in line:
-        line = line[:line.index('#')]
-      line = line.strip()
-
-      if not in_set_command:
-        if line.startswith('set('):
-          in_set_command = True
-          set_command = []
-      elif line == ')':
-        in_set_command = False
-        if not set_command:
-          raise ValueError('Empty set command')
-        variables[set_command[0]] = set_command[1:]
-      else:
-        set_command.extend([c for c in line.split(' ') if c])
-
-  if in_set_command:
-    raise ValueError('Unfinished set command')
-  return variables
-
-
 def PrefixWithSrc(files):
   return ['src/' + x for x in files]
 
 
 def main(platforms):
-  # TODO(crbug.com/boringssl/542): Move everything to util/pregenerate and the
-  # new JSON file.
-  cmake = ExtractVariablesFromCMakeFile(os.path.join('src', 'sources.cmake'))
   with open(os.path.join('src', 'gen', 'sources.json')) as f:
     sources = json.load(f)
 
@@ -697,7 +665,7 @@
           stdout=out)
     crypto_test_files.append('crypto_test_data.cc')
 
-  crypto_test_files += PrefixWithSrc(cmake['CRYPTO_TEST_SOURCES'])
+  crypto_test_files += PrefixWithSrc(sources['crypto_test']['srcs'])
   crypto_test_files.sort()
 
   fuzz_c_files = FindCFiles(os.path.join('src', 'fuzz'), NoTests)
@@ -736,22 +704,22 @@
       'crypto_test_data': PrefixWithSrc(sources['crypto_test']['data']),
       'fips_fragments': fips_fragments,
       'fuzz': fuzz_c_files,
-      'pki': PrefixWithSrc(cmake['PKI_SOURCES']),
+      'pki': PrefixWithSrc(sources['pki']['srcs']),
       'pki_headers': pki_h_files,
       'pki_internal_headers': sorted(list(pki_internal_h_files)),
-      'pki_test': PrefixWithSrc(cmake['PKI_TEST_SOURCES']),
+      'pki_test': PrefixWithSrc(sources['pki_test']['srcs']),
       'pki_test_data': PrefixWithSrc(sources['pki_test']['data']),
       'rust_bssl_crypto': bssl_crypto_files,
       'rust_bssl_sys': bssl_sys_files,
-      'ssl': PrefixWithSrc(cmake['SSL_SOURCES']),
+      'ssl': PrefixWithSrc(sources['ssl']['srcs']),
       'ssl_headers': ssl_h_files,
       'ssl_internal_headers': ssl_internal_h_files,
-      'ssl_test': PrefixWithSrc(cmake['SSL_TEST_SOURCES']),
-      'tool': PrefixWithSrc(cmake['BSSL_SOURCES']),
+      'ssl_test': PrefixWithSrc(sources['ssl_test']['srcs']),
+      'tool': PrefixWithSrc(sources['bssl']['srcs']),
       'tool_headers': tool_h_files,
-      'test_support': PrefixWithSrc(cmake['TEST_SUPPORT_SOURCES']),
+      'test_support': PrefixWithSrc(sources['test_support']['srcs']),
       'test_support_headers': test_support_h_files,
-      'urandom_test': PrefixWithSrc(cmake['URANDOM_TEST_SOURCES']),
+      'urandom_test': PrefixWithSrc(sources['urandom_test']['srcs']),
   }
 
   for platform in platforms: