project(Contacts)

remove_sdk_framework(Contacts)

set(DYLIB_COMPAT_VERSION "0.0.0")
set(DYLIB_CURRENT_VERSION "0.0.0")

set(FRAMEWORK_VERSION "A")

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

add_framework(Contacts
    FAT
    CURRENT_VERSION
    VERSION ${FRAMEWORK_VERSION}

    SOURCES
        src/Contacts.m
        src/CNContactVCardWritingAdapter.m
        src/CNChangeHistoryGroupChange.m
        src/CNContactSuggestionMatch.m
        src/CNContactVCardParsedResultBuilder.m
        src/CNContactVCardParsedResultBuilderFactory.m
        src/CNMultiValueDiff.m
        src/CNContainerPropertyDescription.m
        src/CNContainerIdentifierDescription.m
        src/CNContainerNameDescription.m
        src/CNContainerTypeDescription.m
        src/CNContainerEnabledDescription.m
        src/CNAggregateContactStore.m
        src/CNDateComponentsEquivalence.m
        src/CNTCC.m
        src/CNCDSmartGroupFetcher.m
        src/CNPredicate.m
        src/CNContactChangeRequest.m
        src/CNLabeledValue.m
        src/CNCDSubgroupsInGroupPredicate.m
        src/CNLDAPPostalAddressTransform.m
        src/CNFullTextSearchContactPredicate.m
        src/CNLDAPConnection.m
        src/CNCalculatesMultiValueDiff.m
        src/CNCDMeContactFetcher.m
        src/CNCDGroupsWithIdentifiersPredicate.m
        src/CNChangeHistoryFetchRequest.m
        src/CNXPCDataMapper.m
        src/CNXPCDataMapperProgressiveHandler.m
        src/CNInternalIdentifierDescription.m
        src/CNAccountIdentifierDescription.m
        src/CNNamePrefixDescription.m
        src/CNGivenNameDescription.m
        src/CNMiddleNameDescription.m
        src/CNFamilyNameDescription.m
        src/CNNameSuffixDescription.m
        src/CNPreviousFamilyNameDescription.m
        src/CNNicknameNameDescription.m
        src/CNPhoneticGivenNameDescription.m
        src/CNPhoneticMiddleNameDescription.m
        src/CNPhoneticFamilyNameDescription.m
        src/CNPhoneticOrganizationNameDescription.m
        src/CNSortingGivenNameDescription.m
        src/CNSortingFamilyNameDescription.m
        src/CNOrganizationNameDescription.m
        src/CNDepartmentDescription.m
        src/CNJobTitleDescription.m
        src/CNBirthdayDescription.m
        src/CNNonGregorianBirthdayDescription.m
        src/CNCreationDateDescription.m
        src/CNModificationDateDescription.m
        src/CNNoteDescription.m
        src/CNSearchIndexDescription.m
        src/CNImageDataDescription.m
        src/CNCropRectDescription.m
        src/CNThumbnailImageDataDescription.m
        src/CNImageDataAvailableDescription.m
        src/CNLinkIdentifierDescription.m
        src/CNPreferredForNameDescription.m
        src/CNPreferredForImageDescription.m
        src/CNPreferredLikenessSourceDescription.m
        src/CNPreferredApplePersonaIdentifierDescription.m
        src/CNContactTypeDescription.m
        src/CNDisplayNameOrderDescription.m
        src/CNPhoneNumbersDescription.m
        src/CNEmailAddressesDescription.m
        src/CNUrlAddressesDescription.m
        src/CNCalendarURIsDescription.m
        src/CNDatesDescription.m
        src/CNContactRelationsDescription.m
        src/CNInstantMessageAddressesDescription.m
        src/CNSocialProfilesDescription.m
        src/CNPostalAddressesDescription.m
        src/CNPhonemeDataDescription.m
        src/CNAbstractActivityAlertDescription.m
        src/CNCallAlertDescription.m
        src/CNTextAlertDescription.m
        src/CNMapsDataDescription.m
        src/CNMockSpotlightIndexingLogger.m
        src/CNAccount.m
        src/CNSuggestedContactIdentifierPredicate.m
        src/CNMeContactsPredicate.m
        src/CNLDAPFetchRequest.m
        src/CNLDAPSearchBase.m
        src/CNContactsLoggerProvider.m
        src/CNCalculatesContactDiff.m
        src/CNSocialProfileContactPredicate.m
        src/CNActivityAlert.m
        src/CNMutableInstantMessageAddress.m
        src/CNLDAPQueryFilter.m
        src/CNCDContactsMatchingPredicate.m
        src/CNContactsUserDefaults.m
        src/CNCoreDataPropertyMapping.m
        src/CNUnifiedContacts.m
        src/CNCDContactWithNamePredicate.m
        src/CNMockLoggerProvider.m
        src/CNContactsLogging.m
        src/CNCDContactSaveExecutor.m
        src/CNEmailAddressContactPredicate.m
        src/CNLaunchServicesRemoteAdapter.m
        src/CNCDContainerFetcher.m
        src/CNCDGroupNamePredicateCreationHelper.m
        src/CNContactUpdate.m
        src/CNLDAPPropertyDescription.m
        src/_CNLDAPAccumulatingPropertyDescription.m
        src/CNChangeHistoryContactChange.m
        src/CNMultiValueSingleUpdate.m
        src/CNLDAPServices.m
        src/CNContainerPermissions.m
        src/CNContactsEnvironment.m
        src/CNSecureCodingClassSets.m
        src/CNContainerIdentifiersPredicate.m
        src/CNMultiValueAddUpdate.m
        src/CNTestSmartFetcher.m
        src/CNPerContactPropertyKeyDescriptor.m
        src/CNMutablePostalAddress.m
        src/CNInstantMessageAddress.m
        src/CNCDContactsInContainerPredicate.m
        src/CNMultiValueUpdate.m
        src/CNContactStore.m
        src/CNMutableContact.m
        src/CNContactMatchSummarizer.m
        src/CNCDGroupMembershipSaveExecutor.m
        src/CNMutableSocialProfile.m
        src/CNContactsUserDefaultsX.m
        src/CNMultiValueRemoveUpdate.m
        src/CNContactKeyVector.m
        src/CNMutableContactKeyVector.m
        src/CNCDContactFetchRequestDescription.m
        src/CNCDContactFetchRequestBuilder.m
        src/CNGroup.m
        src/CNContactFormatter.m
        src/CNReputationStore.m
        src/CNContactNameOrderImpl.m
        src/CNGivenNameFirstNameOrder.m
        src/CNFamilyNameFirstNameOrder.m
        src/CNContactWithNamePredicate.m
        src/CNReputationFutureBuilder.m
        src/CNABRemoteObjectsConverter.m
        src/CNContactRelation.m
        src/CNContainer.m
        src/CNContactSearchIndexFormatter.m
        src/CNDataMapperContactStore.m
        src/CNValueOrigin.m
        src/CNChangesNotifierProxy.m
        src/CNChangesNotifier.m
        src/CNChangeNotifierDarwinWrapper.m
        src/CNChangeNotifierDistributedCenterWrapper.m
        src/CNCDCustomPropertySaveExecutor.m
        src/CNContactNameSorting.m
        src/CNPhoneDialer.m
        src/CNSaveResponse.m
        src/CNMutableSaveResponse.m
        src/CNChangeHistoryResult.m
        src/CNSuggestedSaveRequest.m
        src/CNDonatedContactSanitizer.m
        src/CNCDContactsInGroupPredicate.m
        src/CN.m
        src/CNPostalAddressFormatter.m
        src/CNCDGroupPredicate.m
        src/CNSmartPropertyFetcher.m
        src/_CNSpotlightIndexingLogger.m
        src/CNTCCServices.m
        src/CNPostalAddressContactPredicate.m
        src/CNMultiValuePropertyDescription.m
        src/CNCompoundMultiValuePropertyDescription.m
        src/CNPhoneNumberContactPredicate.m
        src/CNDraggingContact.m
        src/CNReputationHandle.m
        src/_CNReputationGenericHandle.m
        src/_CNReputationEmailAddressHandle.m
        src/_CNReputationPhoneNumberHandle.m
        src/CNContactProperty.m
        src/CNUuidIdentifierProvider.m
        src/CNLabelValuePair.m
        src/CNReputationLogger.m
        src/CNContactChangesObserverProxy.m
        src/CNContactChangesFetcher.m
        src/CNContactChangesNotifier.m
        src/CNContact.m
        src/CNPermissivePolicy.m
        src/CNFromABCDConversions.m
        src/CNCDCustomPropertyValueFetcher.m
        src/CNCDGroupFetcher.m
        src/CNContactFormatterSmartFetcher.m
        src/CNSocialProfile.m
        src/CNReputationContactsAdapter.m
        src/CNContactMatchInfo.m
        src/CNMutableContainer.m
        src/CNMutableActivityAlert.m
        src/CNCDGroupsInContainerPredicate.m
        src/CNSuggestedContactStore.m
        src/CNContainerOfContactPredicate.m
        src/CNReputationCoreRecentsAdapter.m
        src/CNCDAllContactsPredicate.m
        src/CNLinkedContactsPredicate.m
        src/CNAggregateKeyDescriptor.m
        src/CNContactDiff.m
        src/CNCDSaveContext.m
        src/CNPropertyDescription.m
        src/CNContactKeyValueUpdate.m
        src/CNAuthorization.m
        src/CNPostalAddressFormattingSpecification.m
        src/CNContactFetchRequest.m
        src/CNLDAPPredicateRemapper.m
        src/CNMutableGroup.m
        src/CNVCardConstantsMapping.m
        src/CNCDAccessAuthorization.m
        src/CNInstantMessageAddressContactPredicate.m
        src/CNContactsWithIdentifiersPredicate.m
        src/CNPostalAddress.m
        src/_CNContactMatchingFetchRequestInfos.m
        src/CNErrorFactory.m
        src/CNMockContactsLogger.m
        src/CNPolicy.m
        src/CNReputationResult.m
        src/CNContactVCardSerialization.m
        src/CNCDRecordSaveCache.m
        src/CNMultiValueReplaceUpdate.m
        src/CNLDAPPredicateRemapping.m
        src/CNChangeHistoryAnchor.m
        src/CNDonationMapper.m
        src/CNCDSaveRequestExecutor.m
        src/CNCountryInformation.m
        src/CNContactMultiValueDiffUpdate.m
        src/CNCDInfoSaveExecutor.m
        src/_CNContactsLogger.m
        src/CNDate.m
        src/CNPhoneNumber.m
        src/CNCDAllGroupsPredicate.m
        src/CNMultiValueReorderUpdate.m
        src/CNSaveRequest.m
        src/CNContainerOfGroupPredicate.m
        src/CNLDAPTransforms.m
        src/CNCDAllContainersPredicate.m
        src/CNPredicateValidator.m
        src/CNCDContactsLinkedToContactPredicate.m
        src/_CNRegulatoryLogger.m
        src/CNAddressFormats.m
        src/CNCDGroupSaveExecutor.m
        src/CNDictionaryPolicy.m
        src/CNCDInfoFetcher.m
        src/CNCDContactFetcher.m
        src/CNCoreDataMapperX.m

	manual.m

    DEPENDENCIES
        system
        objc
        Foundation
)
