project(AddressBook)

remove_sdk_framework(AddressBook)

set(DYLIB_COMPAT_VERSION "1.0.0")
set(DYLIB_CURRENT_VERSION "1893.0.0")

set(FRAMEWORK_VERSION "A")

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

add_framework(AddressBook
    FAT
    CURRENT_VERSION
    VERSION ${FRAMEWORK_VERSION}

    SOURCES
        src/AddressBook.m
        src/ABAPIAdapter.m
        src/ABAbstractGroupEntriesFactory.m
        src/ABAbstractGroupListAction.m
        src/ABAccountBrowsingGroupEntry.m
        src/ABAccountGroupEntries.m
        src/ABAccountGroupEntriesBuilder.m
        src/ABAccountHeaderGroupEntry.m
        src/CNUISaveNonCuratedValueOntoExistingContactCommand.m
        src/CNUISaveNonCuratedContactCommand.m
        src/ABUserActivityScore.m
        src/ABActionAddSuggestedValue.m
        src/ABUserActivityRestoration.m
        src/ABActionAddressCopyMailingLabel.m
        src/ABActionAddressCopyMapURL.m
        src/ABActionAddressGetDirections.m
        src/CNUIContactNameOrder.m
        src/_CNUIDefaultContactNameOrder.m
        src/_CNUINamelessContactNameOrder.m
        src/_CNUIGivenNameFirstNameOrder.m
        src/_CNUIFamilyNameFirstNameOrder.m
        src/ABActionAddressMapsHelper.m
        src/ABActionAddressShowMap.m
        src/ABActionAutovalidator.m
        src/ABActionAutovalidatorCache.m
        src/ABActionAutovalidatorCacheEntry.m
        src/ABActionAutovalidatorCacheMenuEntry.m
        src/ABActionAutovalidatorCacheSimpleEntry.m
        src/ABActionBeginChat.m
        src/ABActionDispatcher.m
        src/ABCardCollectionRowSeparatorView.m
        src/ABActionEmailSearchSpotlight.m
        src/ABActionEmailSendMessage.m
        src/ABActionEmailSendUpdate.m
        src/ABActionIgnoreSuggestedValue.m
        src/ABActionLinkedSetPreferredCard.m
        src/ABActionManager.m
        src/ABActionMenuItemFactory.m
        src/ABActionPhoneDial.m
        src/ABActionPhoneLargeType.m
        src/ABActionRelatedShowCard.m
        src/ABActionSocialProfile.m
        src/ABActionSocialProfileSendMessage.m
        src/ABActionSocialProfileViewPhotos.m
        src/ABActionSocialProfileViewProfile.m
        src/ABActionURLsOpenURL.m
        src/ABAddressBook.m
        src/ABAddSuggestedValueTask.m
        src/CNUISaveNonCuratedValueOntoContactCommand.m
        src/ABAddressBookAPIAdapter.m
        src/ABAddressFieldBuilder.m
        src/ABAddressFieldValuePopulator.m
        src/ABAggregateSearchOperationsFactory.m
        src/ABAlert.m
        src/ABAlertToneCollectionViewItem.m
        src/ABAllSmartGroup.m
        src/ABAlternateBirthdayCollectionViewItem.m
        src/ABAppDeprecations.m
        src/ABAppearance.m
        src/ABAuthenticationInfo.m
        src/ABBestEntryFinder.m
        src/ABMutableBidirectionalDictionary.m
        src/ABBidirectionalDictionary.m
        src/ABDeprecatedObject.m
        src/ABSearchController.m
        src/ABCardViewerController.m
        src/CNUIAddressBookToContactsConversions.m
        src/ABBindingsLabelTransformer.m
        src/ABBindingsURLTransformer.m
        src/ABAttributedStringTransformer.m
        src/ABGroupListTransformer.m
        src/ABPeopleListTransformer.m
        src/ABDateComponentsValueTransformer.m
        src/ABBirthdayCollectionViewItem.m
        src/ABBirthdayConversionUIAction.m
        src/ABBookAggregateUndoableCommand.m
        src/_ABBookUndoableCommandAdapter.m
        src/ABBookAggregateUndoableCommandBuilder.m
        src/ABBookCreateGroupCommand.m
        src/ABBookCreateGroupWithMembersCommand.m
        src/ABBookCreateSmartGroupCommand.m
        src/ABBookEditSmartGroupCommand.m
        src/ABBookGroupAddMembersCommand.m
        src/ABBookGroupAddRecordsCommand.m
        src/ABBookGroupAddSubgroupsCommand.m
        src/ABBookGroupCopyCommand.m
        src/ABCollectionViewSeparatorItem.m
        src/ABBookGroupCutCommand.m
        src/ABBookGroupDeleteCommand.m
        src/ABBookGroupImportCommand.m
        src/ABBookPastePeopleCommand.m
        src/ABBookRenameGroupCommand.m
        src/ABBookSearchField.m
        src/ABBookSearchFieldCell.m
        src/CNUISetImageCommand.m
        src/CNUISetMultipleImagesCommand.m
        src/ABBrowsingGroupEntry.m
        src/ABBrowsingSearchConfiguration.m
        src/CNUIRejectSugggestedValueCommand.m
        src/ABBuddyStatus.m
        src/ABBuddyStatusImageCell.m
        src/ABButtonCell.m
        src/ABCNAddressDetector.m
        src/CNContactLabelSanitizer.m
        src/ABCNContactPhotoStore.m
        src/ABCNContactThumbnailPhotoStore.m
        src/ABCNContactUncroppedPhotoStore.m
        src/ABCNContactRemotePhotoStore.m
        src/CNUISaveNonCuratedValueOntoReadOnlyContactCommand.m
        src/ABCNDDScanner.m
        src/ABNameViewCompanyCheckBox.m
        src/CNUISaveNonCuratedContactCommandFactory.m
        src/ABCNPhoneDialer.m
        src/ABCNPhoneNumberDetector.m
        src/ABCardCollectionStackViewController.m
        src/CNUIContactRelationsValueTransformer.m
        src/ABCallbackCardAction.m
        src/ABPersonListAttributedName.m
        src/ABCardActionProvider.m
        src/ABCardCollectionLinkedPeopleRowView.m
        src/ABCardCollectionMessagingRowView.m
        src/ABCardCollectionNoteRowView.m
        src/ABCardCollectionPostalAddressRowView.m
        src/ABCardCollectionPreferredNameRowView.m
        src/ABCardCollectionRowLayout.m
        src/ABCardCollectionRowScope.m
        src/ABCardCollectionRowView.m
        src/ABCardCollectionURLRowView.m
        src/ABSuggestionsTracing.m
        src/ABCardCollectionView.m
        src/ABCardCollectionViewController.m
        src/ABCardViewCNLabeledValueConverter.m
        src/ABCardViewAKSingleValueConverter.m
        src/ABCardViewAlertTonesProperty.m
        src/ABCardViewAlternateBirthdayProperty.m
        src/ABCardViewBirthdayProperty.m
        src/ABCardViewDateProperty.m
        src/ABCardViewDictionaryTransformer.m
        src/ABCardViewEditDisplayStyleCommand.m
        src/ABCardViewEditPropertyCommand.m
        src/ABCardViewEmailProperty.m
        src/ABCardViewHelpers.m
        src/ABCardViewImage.m
        src/ABCardViewImageResult.m
        src/ABCardViewInstantMessageProperty.m
        src/ABCardViewInstantMessageServiceGenerator.m
        src/ABCardViewLabelGenerator.m
        src/ABCardViewLinkedPeopleProperty.m
        src/ABCardViewLinkedPerson.m
        src/ABCardViewLinkedPersonValueTransformer.m
        src/ABCardViewMaidenNameProperty.m
        src/ABCardViewMetrics.m
        src/ABCardViewMultiValue.m
        src/ABCardViewMultiValueAccountNameTransformer.m
        src/ABCardViewMultiValueConverterBuilder.m
        src/ABCardViewMultiValueEntry.m
        src/ABCardViewMultiValuePrivateFieldTransformer.m
        src/ABCardViewMultiValueReadOnlyTransformer.m
        src/ABCardViewMutableMultiValue.m
        src/ABCardViewNoteProperty.m
        src/ABCardViewNotificationHandler.m
        src/ABCardViewPersonMapper.m
        src/ABCardViewPhoneProperty.m
        src/ABCardViewPostalAddressFormatter.m
        src/ABCardViewPostalAddressProperty.m
        src/ABCardViewPreferredForNameProperty.m
        src/ABCardViewPreferredForNameValueTransformer.m
        src/ABCardViewProperty.m
        src/ABCardViewPropertyProvider.m
        src/ABCardViewSaveHelper.m
        src/ABCardViewSeparator.m
        src/ABUserActivityScoring.m
        src/ABCardViewSingleValueProperty.m
        src/ABCardViewSocialProfileProperty.m
        src/ABCardViewStyleInternalProvider.m
        src/ABCardViewStyle.m
        src/ABCardViewStyleProvider.m
        src/ABDefaultCardViewStyleProvider.m
        src/ABCardViewTransformingMultiValueConverter.m
        src/ABCardViewURLProperty.m
        src/ABCardViewUndoableDataSource.m
        src/ABCertificatePanelController.m
        src/ABChangePropertiesCommand.m
        src/ABChangePropertyCommand.m
        src/ABChoosingForwarder.m
        src/ABCleanGroupEntryListCellView.m
        src/ABCleanGroupHeaderEntryListCellView.m
        src/ABCleanGroupListRowView.m
        src/ABClickableImageView.m
        src/ABClickableTextView.m
        src/ABCollectionAbstractAction.m
        src/ABCollectionDialAction.m
        src/ABCollectionFaceTimeRowView.m
        src/ABCollectionItemMessagingAvailabilityHelper.m
        src/ABCollectionMessageAction.m
        src/ABCollectionOpenURLAction.m
        src/ABCollectionReviewSuggestionAction.m
        src/ABCollectionRowViewEditModeFactory.m
        src/ABCollectionRowViewFactory.m
        src/ABAccessibleTextFieldCell.m
        src/ABCollectionSendMailAction.m
        src/ABCollectionShowMapAction.m
        src/ABCollectionTTYAction.m
        src/ABCollectionViewImageButton.m
        src/ABCollectionViewItem.m
        src/ABCollectionViewItemFactory.m
        src/ABColor.m
        src/ABCommandExecutionPolicy.m
        src/ABAddressBookCommandExecutionPolicy.m
        src/ABCommandHookExecutionPolicy.m
        src/ABCommandExecutor.m
        src/ABCommunicationButtonsController.m
        src/ABConstraintDescription.m
        src/ABConstraintsBuilder.m
        src/ABContactDeletionTracing.m
        src/ABContactFetcher.m
        src/ABContactPickerDelegateWrapper.m
        src/ABContactPickerFactory.m
        src/ABAttributedString.m
        src/ABCopyOnWriteSet.m
        src/ABCountTableEntry.m
        src/ABCreatePersonCommand.m
        src/ABCustomLabelController.m
        src/ABDAVQuery.m
        src/ABDataSourceOperation.m
        src/ABDateCollectionViewItem.m
        src/ABDateComponentsFormatter.m
        src/ABDateFormatter.m
        src/ABDateProvider.m
        src/ABDefaultGroupEntriesFactory.m
        src/ABDelegateCardAction.m
        src/ABDeleteGroupSheet.m
        src/ABDeleteRecordsCommandBuilder.m
        src/ABDirectoriesHeaderGroupEntry.m
        src/ABDSuggestionLogPairBuilder.m
        src/ABDistributionListController.m
        src/ABDistributionKeyValueCell.m
        src/ABDistributionListPeoplePickerView.m
        src/ABDistributionListPeoplePickerController.m
        src/ABDropDownMenuUIAction.m
        src/ABEditButton.m
        src/ABEditSmartGroupCommand.m
        src/ABEmailCertificateController.m
        src/ABEmailCertificateSearchOperation.m
        src/ABEmailCollectionViewItem.m
        src/ABEvent.m
        src/ABExchangeSetup.m
        src/ABFaceTimeActionsCollectionViewItem.m
        src/ABFaceTimeCommunicationsBridge.m
        src/ABFakeSuggestedData.m
        src/ABFont.m
        src/CNUIDeleteCommandHelper.m
        src/CNUIPhoneNumerValueTransformer.m
        src/ABTelURLHelper.m
        src/ABGlobals.m
        src/ABGroupActionScope.m
        src/ABGroupBrowsingContext.m
        src/ABGroupBrowsingGroupEntry.m
        src/ABGroupCommand.m
        src/ABGroupCopyPasteboardData.m
        src/ABPhoneFormatter.m
        src/ABGroupDragPasteboardData.m
        src/ABGroupDragScope.m
        src/ABGroupDragSource.m
        src/ABGroupDropDestination.m
        src/ABGroupDropPasteboardData.m
        src/ABGroupDropPasteboardDataCategorizer.m
        src/ABGroupDropScope.m
        src/ABGroupDropSource.m
        src/ABGroupEntriesAnalyzer.m
        src/ABGroupEntriesBuilder.m
        src/ABGroupEntriesList.m
        src/ABGroupEntriesResult.m
        src/ABGroupEntry.m
        src/ABGroupImportFilesScope.m
        src/ABGroupListAccessoryViewProvider.m
        src/ABGroupListActionDispatcher.m
        src/ABGroupListActions.m
        src/ABGroupListCellViewStyle.m
        src/ABGroupListController.m
        src/ABGroupListCreateGroupUIAction.m
        src/ABGroupListCreateSmartGroupUIAction.m
        src/ABGroupListNotificationHandler.m
        src/ABGroupListResponder.m
        src/ABGroupListStyleProvider.m
        src/ABGroupListView.m
        src/ABGroupPastePasteboardData.m
        src/ABGroupSearchingContext.m
        src/ABHeaderGroupEntry.m
        src/ABImmediateActionGestureAdapter.m
        src/ABTemplatePreferencesSaving.m
        src/ABRectObject.m
        src/ABRecord.m
        src/ABPackedImage.m
        src/ABMutablePackedImage.m
        src/ABImportRecordFactory.m
        src/ABInstantMessageCollectionViewItem.m
        src/_ABGeocodingMapsLauncher.m
        src/ABKeystrokeForwarder.m
        src/ABKeystrokeForwardingEntry.m
        src/ABLabelPopUpButton.m
        src/ABLargeTypeView.m
        src/ABLargeTypeWindow.m
        src/ABLastImportBrowsingGroupEntry.m
        src/ABLastImportGroup.m
        src/ABLazyGroup.m
        src/ABLinkTextField.m
        src/ABLinkedPersonCollectionViewItem.m
        src/ABMainListOutlineView.m
        src/CNUIRejectNonCuratedValueCommandFactory.m
        src/ABMeCommand.m
        src/ABPostalAddressFormatSubmenuGenerator.m
        src/CNUIRejectNonCuratedValueCommand.m
        src/ABMiniGridView.m
        src/ABMonogramFactory.m
        src/ABMonogramImageLoading.m
        src/ABMonogramImageTask.m
        src/ABMonogramInitialsTask.m
        src/_ABMonogramOptions.m
        src/ABMonogramOptions.m
        src/ABMonogramPhotoTask.m
        src/ABMonogramSilhouetteTask.m
        src/ABNameView.m
        src/ABNewGroupCommand.m
        src/ABNicknameFormatter.m
        src/ABNoSelectionTableView.m
        src/ABNoWindowDragTextField.m
        src/ABNoteCollectionViewItem.m
        src/ABNoteTextView.m
        src/ABObjectDeathWatcher.m
        src/ABNamedImageWrapper.m
        src/ABOnBlueButton.m
        src/ABOverlayView.m
        src/ABPasswordPanelController.m
        src/ABPastePeopleCommand.m
        src/ABPasteboardWriteCommand.m
        src/ABPeoplePickerBrowsingSelectHelper.m
        src/ABPeoplePickerController.m
        src/ABPeoplePickerExternalNotificationWatcher.m
        src/ABPeoplePickerGroupEntriesFactory.m
        src/ABPeoplePickerGroupHelperFactory.m
        src/ABUserActivitySerialization.m
        src/ABPeoplePickerGroupListController.m
        src/ABPeoplePickerGroupListStyleProvider.m
        src/ABPeoplePickerGroupListView.m
        src/ABPeoplePickerLocalNotificationWatcher.m
        src/ABPeoplePickerProperty.m
        src/ABPeoplePickerScope.m
        src/ABPeoplePickerSearchingSelectHelper.m
        src/ABPeoplePickerSubrowObjectBuilder.m
        src/ABPeoplePickerTableView.m
        src/ABPeoplePickerTableColumn.m
        src/ABPeoplePickerTableRow.m
        src/ABPeoplePickerSubrowObject.m
        src/ABPeoplePickerSubrowGroupElement.m
        src/ABPeoplePickerNameCell.m
        src/ABPeoplePickerPropertyCell.m
        src/ABPeoplePickerView.m
        src/ABPeriodicTask.m
        src/ABPeriodicUITask.m
        src/ABPersonContactConverter.m
        src/ABPersonEntriesFetcher.m
        src/ABPersonEntriesList.m
        src/ABPersonEntry.m
        src/ABPersonEntryFactory.m
        src/ABPersonInitials.m
        src/ABPersonListController.m
        src/ABPersonListControllerDelegateWrapper.m
        src/ABPersonListControllerTracing.m
        src/ABPersonListDragExportHelper.m
        src/ABPersonListHeadliner.m
        src/ABPersonListMenuHelper.m
        src/ABPersonListRowView.m
        src/ABPersonListSearchController.m
        src/ABPersonListSearchHelper.m
        src/ABPersonListSharingHelper.m
        src/ABPersonListUIReflector.m
        src/ABPersonPicker.m
        src/CNUISaveNonCuratedValueOntoNonExistingContactCommand.m
        src/ABPersonSearchConfiguration.m
        src/ABPersonView.m
        src/ABPersonViewAPIAdapter.m
        src/ABPersonViewNotificationWatcher.m
        src/CNUISaveNonCuratedValueCommandFactory.m
        src/ABPersonViewStyleProvider.m
        src/ABPhoneCollectionViewItem.m
        src/ABPopUpButton.m
        src/ABPopUpButtonCell.m
        src/ABPopupTableHeaderCell.m
        src/ABPopupTableHeaderView.m
        src/ABPostalAddressCollectionViewItem.m
        src/ABPreferredNameCollectionViewItem.m
        src/ABPropertyHeaderCell.m
        src/ABCardViewRelatedNamesProperty.m
        src/ABQuerySearchConfiguration.m
        src/ABRecordContext.m
        src/_ABURLMapsLauncher.m
        src/CNUIRejectDonatedValueCommand.m
        src/ABMapsLauncher.m
        src/ABRemotePersonView.m
        src/ABRemoveMembersCommand.m
        src/ABRemoveMembersCommandBuilder.m
        src/ABRemovesEmptyCardViewData.m
        src/ABRenameGroupCommand.m
        src/ABRolloverButton.m
        src/ABMapsLaunchRequest.m
        src/ABSearchElementOrderManager.m
        src/ABSearchElementSetView.m
        src/ABSearchElementUIController.m
        src/ABSearchElementView.m
        src/ABSearchHighlightFormatter.m
        src/ABSearchingGroupEntry.m
        src/ABSectionGroupEntry.m
        src/ABSectionTableEntry.m
        src/ABShadowTextField.m
        src/ABShadowTextFieldCell.m
        src/ABShadowTextView.m
        src/ABShadowTextViewMultipleValuePasteHelper.m
        src/ABFlippedStackView.m
        src/ABShadowTextViewPostalAddressValuePasteHelper.m
        src/ABShowAsCommand.m
        src/ABSimpleLinkTextField.m
        src/ABSmartGroupBrowsingGroupEntry.m
        src/ABSmartGroupsHeaderGroupEntry.m
        src/ABSocialProfileCollectionViewItem.m
        src/ABSourceSyncPeriodicTaskScheduler.m
        src/ABSpaceFormatter.m
        src/ABDefaultStopWatchTimeIntervalProvider.m
        src/ABStopWatch.m
        src/CNUISaveSuggestedMeContactCommand.m
        src/ABSuggestedEntriesFetcher.m
        src/ABSuggestedValueSnippet.m
        src/ABSuggestedValueViewController.m
        src/ABSuggestedValueViewControllerSnippetHelper.m
        src/ABRTTServices.m
        src/ABTableEntry.m
        src/ABTableHeaderView.m
        src/ABTemplateViewStyleProvider.m
        src/ABTextContainer.m
        src/ABTextStorage.m
        src/ABThrottledTrackingAreaMonitor.m
        src/ABTrackingArea.m
        src/ABTypesetter.m
        src/ABURLCollectionViewItem.m
        src/ABUndoableCommandVisitor.m
        src/ABExecuteUndoableCommandVisitor.m
        src/ABExecuteUndoUndoableCommandVisitor.m
        src/ABExecuteRedoUndoableCommandVisitor.m
        src/ABUnlinkPeopleCommand.m
        src/ABUserDefaultsCNAdapter.m
        src/ABVCardFilenameExpander.m
        src/ABView.m
        src/ABWhiteView.m
        src/ABWidthLimitingStackView.m
        src/ABWindowController.m
        src/ABXMLParseNode.m
        src/CNUISaveSuggestedContactCommand.m
        src/CNUIAddContactCommand.m
        src/CNUIAggregateUndoableCommand.m
        src/CNUIAggregateUndoableCommandBuilder.m
        src/AKCardViewDataSource.m
        src/AKCardViewDataSourceFactory.m
        src/AKCardViewImageDataSource.m
        src/CNUIDeleteContactCommand.m
        src/CNUICommandContactHelper.m
        src/CNUIEditContactCommand.m
        src/AKInstantMessageAddressValueTransformer.m
        src/CNUISetMeCardCommand.m
        src/AKSocialProfileValueTransformer.m
        src/CNUIUndoableCommand.m
        src/CNCollectionUserActionItem.m
        src/PHXTableView.m
        src/ABCardCollectionTableRowView.m
        src/ABCardCollectionTableViewController.m
        src/_ABPersonView.m

    DEPENDENCIES
        system
        objc
        Foundation
)
