project(ContactsUI)

remove_sdk_framework(ContactsUI)

set(DYLIB_COMPAT_VERSION "1.0.0")
set(DYLIB_CURRENT_VERSION "2421.27.0")

set(FRAMEWORK_VERSION "A")

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

add_framework(ContactsUI
    FAT
    CURRENT_VERSION
    VERSION ${FRAMEWORK_VERSION}

    SOURCES
        src/ContactsUI.m
        src/CNContactViewTouchBar.m
        src/CNAvatarCacheDelegateObservable.m
        src/CNUIColorButton.m
        src/CNContactListView.m
        src/CNBadgingAvatarViewController.m
        src/CNLikenessSorter.m
        src/CNContactLikenessesAggregateFetchStrategy.m
        src/CNEditAuthorizationViewController.m
        src/CNDelegateRetainingEditAuthorizationViewController.m
        src/CNContactPicker.m
        src/CNUISavePanel.m
        src/CNAvatarImageLoadingOptions.m
        src/CNUserActionTouchBar.m
        src/CNOccluderView.m
        src/CNLikenessEditorPresentationController.m
        src/CNUIColoredView.m
        src/CNContactLikenessCardMutatorFactory.m
        src/CNAvatarView.m
        src/CNContactCardWidgetProvider.m
        src/ABPersonListSearchControllerUsageStatisticsHelper.m
        src/CNAvatarCacheEntry.m
        src/CNAvatarViewModel.m
        src/CNPhotoLikenessEditorMediaLibraryViewController.m
        src/CNContactListController.m
        src/CNContactListCellView.m
        src/CNContactListCountCellView.m
        src/CNUIScreen.m
        src/CNRecentLikenessesBackendDataSource.m
        src/CNContactPersistenceHelper.m
        src/CNContactActionsDisambiguationMenuGenerator.m
        src/CNContactListCellViewController.m
        src/CNQuickActionButton.m
        src/CNContactPickerViewService.m
        src/CNDefaultPhotoBrowserItem.m
        src/CNPhotoLikenessDefaultLibraryView.m
        src/CNContactCardViewControlContext.m
        src/CNContactLikenessContactStoreMutator.m
        src/CNContactListHeaderCellView.m
        src/CNContactPickerView.m
        src/CNUIColorRepository.m
        src/CNContactPickerViewMetrics.m
        src/CNBadgeViewController.m
        src/CNContactListShowSelectedContactHelper.m
        src/CNScrollableContainerView.m
        src/CNContactPickerViewLayout.m
        src/CNGroupListView.m
        src/CNContactPickerFamilyMemberScope.m
        src/CNContactIconViewModel.m
        src/CNContactPickerXPCRelay.m
        src/CNContactUpdatesReflector.m
        src/CNContactCardWidgetProviderDelegateWrapper.m
        src/CNDefaultQuickActionsEnvironment.m
        src/CNGroupListController.m
        src/CNContactActionsGroupGenerator.m
        src/CNLikenessSelectionView.m
        src/CNLikenessCollectionItem.m
        src/CNContactListRowView.m
        src/CNContactPickerBorderView.m
        src/CNLikenessCircleView.m
        src/CNLikenessEmptyCollectionItem.m
        src/CNContactLikenessesModel.m
        src/CNAvatarEditOverlayView.m
        src/CNContactPickerGroupHelperFactory.m
        src/CNContactPickerGroupDropHelper.m
        src/CNCameraChangeWatcher.m
        src/CNFamilyMemberContactsViewController.m
        src/CNContactPickerScope.m
        src/CNPhotoLikenessZoomSliderCell.m
        src/CNFamilyMemberContactsShared.m
        src/CNUIEditingRules.m
        src/CNContactListHelperFactory.m
        src/CNContactLikenessPersonaStoreOriginalLikenessMutator.m
        src/CNContactListSelectValueHelper.m
        src/CNPhotoLikenessMediaObjectBrowserItem.m
        src/CNContactListHelperScope.m
        src/CNContactAvatarViewController.m
        src/CNAvatarImageLoading.m
        src/CNContactActionsView.m
        src/CNContactListSelectHelper.m
        src/CNPickerGroupHeaderCellView.m
        src/CNAvatarViewController.m
        src/CNVariableChangeHelper.m
        src/CNFamilyMemberEditControlsViewController.m
        src/CNFamilyMemberWhitelistedContactViewCell.m
        src/CNLikenessConverter.m
        src/CNContactIconView.m
        src/CNLikenessEditorPresentationPopoverStrategy.m
        src/CNCollectionViewTouchBar.m
        src/CNContactListValueHelperScope.m
        src/CNContactDetailsViewController.m
        src/CNContactEditViewTouchBar.m
        src/CNContactSilhouetteView.m
        src/CNContactCardViewControllerABPersonViewMediator.m
        src/CNLikeness.m
        src/CNUIContactFetchResult.m
        src/CNContactCardViewControllerOnLaunchContactFetcher.m
        src/CNContactCardViewControllerAfterLaunchContactFetcher.m
        src/CNContactCardViewControllerContactFetcher.m
        src/CNContactPickerViewController.m
        src/CNContactIconImageFactory.m
        src/CNPhotoLikenessDefaultLibraryViewController.m
        src/CNGroupListBrowsingSelectHelper.m
        src/CNGroupListSearchingSelectHelper.m
        src/CNPhotoLikenessEditorCroppingViewController.m
        src/CNContactViewController.m
        src/_CNUIStandardEditingPolicy.m
        src/_CNUIGuardianEditingPolicy.m
        src/CNUIEditingPolicy.m
        src/CNContactNameViewController.m
        src/CNLikenessFullCollectionItem.m
        src/CNCreateLikenessHelper.m
        src/CNContactLikenessImageFetchStrategy.m
        src/CNLikenessEditorBuddyController.m
        src/CNAvatarImageRenderingScope.m
        src/CNPhotoLikenessEditorUtils.m
        src/CNUIVCardNameGenerator.m
        src/CNContactPickerSearchController.m
        src/CNContactActionsViewController.m
        src/CNAvatarCache.m
        src/CNAvatarImageRenderer.m
        src/CNContactLikenessesPersonaStoreFetchStrategy.m
        src/CNUIContactFetchParameters.m
        src/CNFamilyMemberWhitelistedContactsViewController.m
        src/CNRecentLikenessesDataSourceDelayedEditDecorator.m
        src/CNUIDeprecatedIKImageBrowserView.m
        src/CNUIViewRevealer.m
        src/CNView.m
        src/CNGroupListEntriesFactory.m
        src/CNUIVCardSharingItem.m
        src/CNGroupListCellView.m
        src/CNPhotoLikenessImageBrowserCell.m
        src/CNPhotoLikenessMediaLibraryView.m
        src/CNContactCardViewControllerLogger.m
        src/CNGroupListRowView.m
        src/CNContactAvatarNameCompositeViewController.m
        src/CNContactPickerRemoteViewController.m
        src/CNContactTabSwitcherViewController.m
        src/CNGroupListBackgroundView.m
        src/CNContactLikenessABCardViewImageDataSourceMutator.m
        src/CNRecentLikenessesCollectionView.m
        src/CNRecentLikenessesViewController.m
        src/CNTouchBarUtilities.m
        src/CNContactPickerService.m
        src/CNFromABCNConversions.m
        src/CNUIColorPalette.m
        src/CNAvatarCacheChangeListener.m
        src/CNPhotoLikenessEditorViewController.m
        src/CNContactLikenessPersonaStoreMutator.m
        src/CNContactCardViewController.m
        src/ABCNContactShortNameFormatter.m
        src/CNTabSegmentedControl.m
        src/CNPhotoLikenessBuddyControlsViewController.m
        src/CNAvatarEditorViewController.m
        src/CNFunctionBarController.m
        src/CNPhotoLikenessEditorZoomSliderController.m
        src/CNQuickActionViewClickHelper.m
        src/CNTouchBarController.m
        src/CNPhotoLikenessEditorCameraView.m
        src/_CNCameraSessionState.m
        src/CNPhotoLikenessEditorCameraViewController.m
        src/CNToABCNConversions.m
        src/ABCNContactNameFormatter.m
        src/CNLikenessInspector.m
        src/CNControlClickGestureRecognizer.m
        src/_CNObservableTargetActionHelper.m
        src/CNPhotoLikenessMaskView.m
        src/CNPhotoLikenessSourceTable.m
        src/CNPhotoLikenessEditorView.m
        src/CNGroupListSectionSelectHelper.m
        src/CNAddFieldTouchBar.m
        src/CNResettingScrollViewController.m
        src/CNContactCardViewControllerDataSourceDelegate.m
        src/CNContactPickerNotificationWatcher.m
        src/CNLikenessEditorViewController.m
        src/CNContactLikenessView.m
        src/CNContactSaveAction.m
        src/CNTransaction.m
        src/CNContactIconAppearance.m
        src/CNContactLikenessAgreggateMutator.m
        src/CNAvatarCacheChangeHistoryAnalysisTask.m
        src/CNAvatarChangeHistoryReportingTask.m
        src/CNAvatarCacheChangeAnalysis.m
        src/CNContactPickerInProccessViewController.m
        src/CNContactLikenessLinkedContactsFetchStrategy.m
        src/CNPhotoLikenessInternalSource.m
        src/CNPhotoLikenessCameraSource.m
        src/CNPhotoLikenessDefaultsSource.m
        src/CNPhotoLikenessPhotosSource.m
        src/CNPhotoLikenessIPhotoSource.m
        src/CNPhotoLikenessPhotoBoothSource.m
        src/CNPhotoLikenessCurrentSource.m
        src/CNContactPickerDelegateSearchConfiguration.m
        src/CNUIEnvironment.m
        src/CNUIMutableEnvironment.m
        src/CNContactLikenessDefaultMutatorFactory.m
        src/CNContactSharingEnabledWarningViewController.m
        src/CNUIDefaultPhotosLoader.m
        src/CNIntrinsicView.m
        src/CNFlippedClipView.m
        src/CNAntialiasedImageView.m
        src/CNRoundedImageView.m
        src/CNViewFactory.m
        src/CNContactCardHeightCalculator.m
        src/CNContactPickerCardViewStyleProvider.m
        src/CNContactPickerSection.m
        src/CNRecentLikenessesDiff.m
        src/CNScrollViewOccluderController.m
        src/CNAvatarCacheFingerprintCollector.m
        src/CNQuickActionView.m
        src/CNContactPickerUsageTracer.m
        src/CNIntegerFormatter.m
        src/CNPhotoLikenessZoomSlider.m
        src/CNPhotoLikenessEditorCroppingView.m
        src/CNContactLikenessPickerViewController.m
        src/CNContactCardViewControllerWidgetProviderDelegate.m
        src/CNLikenessEditorPresentationSheetStrategy.m
        src/CNContactLikenessesFetchStrategyDefaultFactory.m
        src/CNUIVCardSharingTask.m

    DEPENDENCIES
        system
        objc
        Foundation
)
