project(SecurityFoundation)

remove_sdk_framework(SecurityFoundation)

set(DYLIB_COMPAT_VERSION "1.0.0")
set(DYLIB_CURRENT_VERSION "55185.200.14")

set(FRAMEWORK_VERSION "A")

generate_sdk_framework(SecurityFoundation
    VERSION ${FRAMEWORK_VERSION}
    HEADER "include/SecurityFoundation"
)

add_framework(SecurityFoundation
    FAT
    CURRENT_VERSION
    VERSION ${FRAMEWORK_VERSION}

    SOURCES
        src/SecurityFoundation.m
        src/SFAuthorization.m
        src/SFSyncManager_ivars.m
        src/SFSyncManager.m
        src/SFCredentialSearchFilter_Ivars.m
        src/_SFCredential.m
        src/_SFPasswordCredential.m
        src/SFCredentialSearchFilter.m
        src/CAAdditionalCertInfo.m
        src/SFRevocationPolicy_Ivars.m
        src/SFTrustEvaluator_Ivars.m
        src/SFSSLClientTrustPolicy_Ivars.m
        src/SFSSLServerTrustPolicy_Ivars.m
        src/SFRevocationPolicy.m
        src/SFTrustEvaluator.m
        src/SFTrustPolicy.m
        src/SFX509TrustPolicy.m
        src/SFSSLClientTrustPolicy.m
        src/SFSSLServerTrustPolicy.m
        src/SFIdentity_Ivars.m
        src/SFCertificate_Ivars.m
        src/SFIdentityAttributes_Ivars.m
        src/SFIdentitySearchFilter_Ivars.m
        src/_SFIdentity.m
        src/_SFCertificate.m
        src/SFIdentityAttributes.m
        src/SFIdentitySearchFilter.m
        src/CABasicConstraintsExtension.m
        src/SFCodingOptions_Ivars.m
        src/SFCoder_Ivars.m
        src/SFDecoder_Ivars.m
        src/SFCodingOptions.m
        src/SFCoder.m
        src/SFDecoder.m
        src/CACertInfo.m
        src/CAExtendedKeyUsageExtension.m
        src/CAIdentityName.m
        src/CAKeyPairAttributes.m
        src/SFKeychainFetchResult_Ivars.m
        src/SFKeychainManager_Ivars.m
        src/SFKeychainDataAttributes_Ivars.m
        src/SFKeychainData_Ivars.m
        src/_SFKeychainFetchResult.m
        src/_SFKeychainIdentityFetchResult.m
        src/_SFKeychainKeyFetchResult.m
        src/SFKeychainDataFetchResult.m
        src/_SFKeychainManager.m
        src/SFKeychainDataAttributes.m
        src/SFKeychainData.m
        src/CAKeyUsageExtension.m
        src/SFPBKDF2Operation_Ivars.m
        src/SFECDHKeySource_Ivars.m
        src/SFECDHOperation_Ivars.m
        src/SFX963KeyDerivationOperation_Ivars.m
        src/SFPBKDF2Operation.m
        src/_SFECDHKeySource.m
        src/_SFECDHOperation.m
        src/SFX963KeyDerivationOperation.m
        src/SFCertAuthorityInvitation.m
        src/SFCertAuthorityInvitationSigner.m
        src/SFAccessControlEntry_Ivars.m
        src/SFAccessControlEntry.m
        src/_SFAccessPolicy.m
        src/SFCertificateAuthority_ivars.m
        src/SFCertificateAuthority.m
        src/SFCertificateAuthorityClient.m
        src/SFCSR.m
        src/SFAESKeySpecifier_Ivars.m
        src/SFRSAKeySpecifier_Ivars.m
        src/SFECKeySpecifier_Ivars.m
        src/SFSymmetricKeyAttributes_Ivars.m
        src/SFKeySearchFilter_Ivars.m
        src/SFKey_Ivars.m
        src/SFSymmetricKey_Ivars.m
        src/SFKeyPair_Ivars.m
        src/SFPublicKey_Ivars.m
        src/_SFKeySpecifier.m
        src/_SFSymmetricKeySpecifier.m
        src/_SFTripleDESKeySpecifier.m
        src/_SFAESKeySpecifier.m
        src/_SFAsymmetricKeySpecifier.m
        src/_SFRSAKeySpecifier.m
        src/_SFECKeySpecifier.m
        src/SFSymmetricKeyAttributes.m
        src/_SFAsymmetricKeyAttributes.m
        src/SFKeySearchFilter.m
        src/_SFKey.m
        src/_SFSymmetricKey.m
        src/SFTripleDESKey.m
        src/_SFAESKey.m
        src/_SFPublicKey.m
        src/_SFKeyPair.m
        src/SFRSAPublicKey.m
        src/SFRSAKeyPair.m
        src/_SFECPublicKey.m
        src/_SFECKeyPair.m
        src/SFServiceIdentifier_Ivars.m
        src/_SFCredentialStore.m
        src/_SFServiceIdentifier.m
        src/SFMachPort.m
        src/CASubjectAltNameExtension.m
        src/SFSHA1DigestOperation_Ivars.m
        src/SFSHA224DigestOperation_Ivars.m
        src/SFSHA256DigestOperation_Ivars.m
        src/SFSHA384DigestOperation_Ivars.m
        src/SFSHA512DigestOperation_Ivars.m
        src/SFMD5DigestOperation_Ivars.m
        src/SFMaskGenerationFunction1_Ivars.m
        src/SFHMACPseudoRandomFunction_Ivars.m
        src/_SFSHA1DigestOperation.m
        src/_SFSHA224DigestOperation.m
        src/_SFSHA256DigestOperation.m
        src/_SFSHA384DigestOperation.m
        src/_SFSHA512DigestOperation.m
        src/_SFMD5DigestOperation.m
        src/SFMaskGenerationFunction1.m
        src/SFHMACPseudoRandomFunction.m
        src/SFCiphertext_Ivars.m
        src/SFAuthenticatedCiphertext_Ivars.m
        src/SFWrappedKeyCiphertext_Ivars.m
        src/SFIESCiphertext_Ivars.m
        src/SFSymmetricEncryptionOperation_Ivars.m
        src/SFAuthenticatedEncryptionOperation_Ivars.m
        src/SFRSAEncryptionOperation_Ivars.m
        src/SFRSA_OAEPEncryptionOperation_Ivars.m
        src/SFRSA_WrappedKeyEncryptionOperation_Ivars.m
        src/SFIESOperation_Ivars.m
        src/_SFCiphertext.m
        src/_SFAuthenticatedCiphertext.m
        src/SFWrappedKeyCiphertext.m
        src/_SFIESCiphertext.m
        src/SFSymmetricEncryptionOperation.m
        src/SFTripleDESEncryptionOperation.m
        src/SFAESEncryptionOperation.m
        src/_SFAuthenticatedEncryptionOperation.m
        src/SFRSAEncryptionOperation.m
        src/SFRSA_PKCS1EncryptionOperation.m
        src/SFRSA_OAEPEncryptionOperation.m
        src/SFRSA_WrappedKeyEncryptionOperation.m
        src/_SFIESOperation.m
        src/SFIncrementingIVGenerator_Ivars.m
        src/SFIncrementingIVGenerator.m
        src/OIDStringCache.m
        src/SFOidParser.m
        src/SFSignedData_Ivars.m
        src/SFRSASigningOperation_Ivars.m
        src/SFRSA_PSSSigningOperation_Ivars.m
        src/SFEC_X962SigningOperation_Ivars.m
        src/SFCMACOperation_Ivars.m
        src/SFHMACOperation_Ivars.m
        src/_SFSignedData.m
        src/SFRSASigningOperation.m
        src/SFRSA_PSSSigningOperation.m
        src/_SFEC_X962SigningOperation.m
        src/SFMessageAuthenticationCodeOperation.m
        src/SFCMACOperation.m
        src/SFHMACOperation.m
        src/SFCertificateData_ivars.m
        src/SFCertificateData.m
        src/SecFoundationModVector.m
        src/SFKeychain.m

    DEPENDENCIES
        system
        objc
        Foundation
)
