project(Vision)

remove_sdk_framework(Vision)

set(DYLIB_COMPAT_VERSION "1.0.0")
set(DYLIB_CURRENT_VERSION "3.0.97")

set(FRAMEWORK_VERSION "A")

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

add_framework(Vision
    FAT
    CURRENT_VERSION
    VERSION ${FRAMEWORK_VERSION}

    SOURCES
        src/Vision.m
        src/VNANFDDetectorCompoundRequestConfiguration.m
        src/VNANFDDetectorCompoundRequestConfigurationGroups.m
        src/VNANFDDetectorCompoundRequest.m
        src/CVML_Error.m
        src/BurstActionClassifier.m
        src/VNFaceAnalyzerMultiDetector.m
        src/VNClusteringLogger.m
        src/VNSuggestionsLogger.m
        src/VNGreedyClusteringReadOnly.m
        src/VNGreedyClusteringReadWrite.m
        src/VNClustererContextBase.m
        src/VNClustererReadOnlyContext.m
        src/VNClustererReadWriteContext.m
        src/VNImageprintGenerator.m
        src/LKTMetalContext.m
        src/_VNRequestForensicsRequestAndErrorTuple.m
        src/_VNRequestForensicsRequestAndObservationsCacheKeyTuple.m
        src/_VNRequestForensicsParentChildRequests.m
        src/VNRequestForensics.m
        src/VNAppendBurstSequenceFrameRequest.m
        src/BurstFaceStat.m
        src/BurstImageStat.m
        src/VNFaceDetectorRevision2.m
        src/BurstFaceConfigEntry.m
        src/BurstFaceScoreEntry.m
        src/BurstFaceInfo.m
        src/BurstImageFaceAnalysisContext.m
        src/VNHomographicImageRegistrationRequest.m
        src/VNClassificationCustomHierarchy.m
        src/_VNSceneClassifierClassificationCustomHierarchy.m
        src/_VNImageAnalyzerMultiDetectorClassificationCustomHierarchy.m
        src/VNRecognizeAnimalsRequest.m
        src/VNFaceLandmarkRegion.m
        src/VNFaceLandmarkRegion2D.m
        src/VNFaceLandmarkRegion3D.m
        src/VNFaceLandmarks.m
        src/VNFaceLandmarks2D.m
        src/VNFaceLandmarks3D.m
        src/VNTrackingRequest.m
        src/VNTranslationalImageRegistrationRequest.m
        src/VNSequenceRequestHandler.m
        src/VNImageRequestHandler.m
        src/VNPhotosRequestHandler.m
        src/VNDetectFaceLandmarksRequestConfiguration.m
        src/VNDetectFaceLandmarksRequest.m
        src/VNBlurSignature.m
        src/VNBlurMeasure.m
        src/VNRuntimeUtilities.m
        src/VNANEProcessingDevice.m
        src/VNCanceller.m
        src/CCCharBoxContext.m
        src/CCTextDetector.m
        src/VNFaceLandmarkDetector.m
        src/VNFaceRegionMap.m
        src/VNGenerateObjectnessBasedSaliencyImageRequestConfiguration.m
        src/VNGenerateObjectnessBasedSaliencyImageRequest.m
        src/VNFaceAnalyzerCompoundRequestConfiguration.m
        src/VNFaceAnalyzerCompoundRequestConfigurationGroups.m
        src/VNFaceAnalyzerFaceObservationGrouping.m
        src/VNFaceAnalyzerCompoundRequest.m
        src/VNCreateTorsoprintRequest.m
        src/VNImageBufferManager.m
        src/VNImageSourceManager.m
        src/VNImageBuffer.m
        src/VNMutablePersonsModel.m
        src/VNImageClassifier.m
        src/VNRequest.m
        src/VNSizeRange.m
        src/VNSupportedImageSize.m
        src/VNRequestConfiguration.m
        src/VNBlacklist.m
        src/VNFaceTorsoprint.m
        src/VNGenerateObjectnessBasedSaliencyDetector.m
        src/VNGenerateObjectnessBasedSaliency544x544Detector.m
        src/VNOpticalFlowObservation.m
        src/VNFaceDetectorRevision1.m
        src/VNGenerateAttentionBasedSaliencyImageRequestConfiguration.m
        src/VNGenerateAttentionBasedSaliencyImageRequest.m
        src/SaliencyExtrema.m
        src/VNSaliencyImageObservation.m
        src/VNImageSaliencyObservation.m
        src/VNEspressoDetectedObject.m
        src/VNImageSpecifier.m
        src/_VNPixelBufferSpecifier.m
        src/_VNCGImageSpecifier.m
        src/_VNCIImageSpecifier.m
        src/_VNURLImageSpecifier.m
        src/_VNDataImageSpecifier.m
        src/VNFaceprint.m
        src/VNFaceExpressionDetector.m
        src/VNANFDMultiDetectorOriginalRequestInfo.m
        src/VNANFDMultiDetector.m
        src/VNClassifyImageAestheticsRequestConfiguration.m
        src/VNClassifyImageAestheticsRequest.m
        src/VNRectangleTracker.m
        src/VNBurstAnalysisResultsRequestConfiguration.m
        src/VNBurstAnalysisResultsRequest.m
        src/VNFaceprintGeneratorRevision1.m
        src/VNMomentProcessor.m
        src/VNMPClusteringTreeNodeWrapper.m
        src/VNSmartCamClassifier.m
        src/VNCompoundRequest.m
        src/VNUniqueObservationClassCompoundRequest.m
        src/VNHomologousObservationClassCompoundRequest.m
        src/VNRPNTrackerEspressoModelCacheManager.m
        src/VNObjectTrackerRevision2.m
        src/VNMetalContext.m
        src/VNDetector.m
        src/VNSceneprint.m
        src/VNSceneFeaturePrint.m
        src/BurstClusterDivider.m
        src/_VNPersonsModelDataSourceBasedDataProvider.m
        src/VNPersonsModel.m
        src/VNPersonsModelInformation.m
        src/VNPersonsModelConfiguration.m
        src/VNPersonsModelPrediction.m
        src/VNPersonsModelReadOptions.m
        src/VNPersonsModelWriteOptions.m
        src/VNClassifyImageRequestConfiguration.m
        src/VNClassifyImageRequest.m
        src/VNImageGrouper.m
        src/VNFaceAttributeCategory.m
        src/VNFaceAttributes.m
        src/VNImageRegistrationRequest.m
        src/VNMPImageDescriptor.m
        src/VNObjectTrackerRevision1.m
        src/VNWarningRecorder.m
        src/VNOperationPointsProvider.m
        src/VNSmartCamprint.m
        src/VNMPImageQuality.m
        src/VNMPUtils.m
        src/VNFaceSegmentGenerator.m
        src/VNSingleHeadSceneprintGenerator.m
        src/ShotflowDetector.m
        src/ShotflowDetectorANFDv1.m
        src/ShotflowDetectorANFDv2.m
        src/VNClassifyJunkImageRequestConfiguration.m
        src/VNClassifyJunkImageRequest.m
        src/VNDetectHumanHeadRectanglesRequest.m
        src/VNEspressoModelClassifier.m
        src/VNFaceGeometryEstimator.m
        src/VNBarcodeObservation.m
        src/VNDetectBarcodesRequest.m
        src/VNDetectBarcodesRequestConfiguration.m
        src/VNTrackerManager.m
        src/ANFDDetectedObject.m
        src/VNMPImageData.m
        src/VNNOPRequestConfiguration.m
        src/VNNOPRequest.m
        src/VNObservation.m
        src/VNDetectedObjectObservation.m
        src/VNFaceObservation.m
        src/VNImageAlignmentObservation.m
        src/VNImageTranslationAlignmentObservation.m
        src/VNImageHomographicAlignmentObservation.m
        src/VNImageScoreObservation.m
        src/VNImageprintObservation.m
        src/VNImageBlurObservation.m
        src/VNImageBrightnessObservation.m
        src/VNClassificationObservation.m
        src/VNRecognizedObjectObservation.m
        src/VNCoreMLFeatureValueObservation.m
        src/VNPixelBufferObservation.m
        src/VNRectangleObservation.m
        src/VNHorizonObservation.m
        src/VNCluster.m
        src/VNClusterObservation.m
        src/VNFeaturePrintObservation.m
        src/VNSceneObservation.m
        src/VNSmartCamObservation.m
        src/VNBurstObservation.m
        src/VNRecognizedTextObservation.m
        src/_VNTextObservationCharacterBox.m
        src/VNTextObservation.m
        src/VNFaceBBoxAligner.m
        src/VNTargetedImageRequest.m
        src/VNImageprint.m
        src/VNMetalProcessingDevice.m
        src/VNPersonsModelData.m
        src/VNEspressoModelImageprint.m
        src/VNImageAestheticsObservation.m
        src/VNGroupImagesByTimeAndContentRequest.m
        src/VNError.m
        src/VNImageBasedRequestConfiguration.m
        src/VNImageBasedRequest.m
        src/VNANERuntimeDirectProcessingDevice.m
        src/VNSaliencyHeatmapBoundingBoxGenerator.m
        src/VNVersionParser.m
        src/VNOperationPoints.m
        src/_VNUnspecifiedOperationPoints.m
        src/VNGenerateImageSaliencyRequestConfiguration.m
        src/VNGenerateImageSaliencyRequest.m
        src/VNCVPixelBufferConversionHelpers.m
        src/VNClassifyFaceAttributesRequest.m
        src/VNDetectHumanRectanglesRequest.m
        src/VNDetectFace3DLandmarksRequest.m
        src/VNHeatMapExtrema.m
        src/VNHeatMapUtilities.m
        src/VNPersonsModelFaceModel.m
        src/VNMPImageGrouping.m
        src/VNFaceLandmarkDetectorDNN.m
        src/BurstImageSetInternal.m
        src/VNImageAnalyzerCompoundRequestGroupingConfiguration.m
        src/VNImageAnalyzerCompoundRequestGroupingConfigurations.m
        src/VNImageAnalyzerCompoundRequestConfiguration.m
        src/VNImageAnalyzerCompoundRequest.m
        src/VNClassifyPipelineImageCorrectionNeed1Request.m
        src/VNDetectFacePoseRequest.m
        src/VNEspressoResources.m
        src/VNEspressoHelpers.m
        src/VNFaceQualityGenerator.m
        src/ImageProcessing_CoreImageUtils.m
        src/VNDetectorManager.m
        src/VNImageBlurScoreRequestConfiguration.m
        src/VNImageBlurScoreRequest.m
        src/LKTGPU.m
        src/VNCPUProcessingDevice.m
        src/VNCreateImageprintRequestConfiguration.m
        src/VNCreateImageprintRequest.m
        src/VNValidationUtilities.m
        src/VNTorsoprintGenerator.m
        src/CVMLFaceprint_LegacySupportDoNotChange.m
        src/CVMLObservation_LegacySupportDoNotChange.m
        src/CVMLImageprintObservation_LegacySupportDoNotChange.m
        src/MPImageDescriptor_LegacySupportDoNotChange.m
        src/VNFaceLandmarkDetectorRevision1.m
        src/VNTorsoprint.m
        src/VNMLFeatureProvider.m
        src/VNCoreMLModel.m
        src/VNCoreMLTransformer.m
        src/VNFaceDetector.m
        src/VNRectangleDetector.m
        src/VNJunkIdentifier.m
        src/VNFaceSegments.m
        src/VNRecognizeTextRequestConfiguration.m
        src/VNRecognizeTextRequest.m
        src/VNRecognizedText.m
        src/VNObjectTracker.m
        src/VNFaceRegionMapGenerator.m
        src/VNHorizonDetector.m
        src/BurstThumbnailCluster.m
        src/VNGenerateFaceSegmentsRequestConfiguration.m
        src/VNGenerateFaceSegmentsRequest.m
        src/VNDetectAnimalRectanglesRequest.m
        src/VNBurstContext.m
        src/VNDetectFaceCaptureQualityRequest.m
        src/VNModelFileImpl.m
        src/VNModelFilesCache.m
        src/VNDebugHelpers.m
        src/VNImageAnalyzerMultiDetector.m
        src/_VNImageAnalyzerMultiDetectorSceneOperationPointsCache.m
        src/_VNImageAnalyzerMultiDetectorSceneOperationPointsProvider.m
        src/VNCreateSmartCamprintRequestConfiguration.m
        src/VNCreateSmartCamprintRequest.m
        src/VNFaceprintGenerator.m
        src/VNCreateSceneprintRequestConfiguration.m
        src/VNCreateSceneprintRequest.m
        src/VNObservationsCache.m
        src/VNDetectRectanglesRequestConfiguration.m
        src/VNDetectRectanglesRequest.m
        src/VNEspressoModelFileBasedDetector.m
        src/VNDetectHorizonRequest.m
        src/VNReadOnlyPersonsModel.m
        src/VNDetectTextRectanglesRequestConfiguration.m
        src/VNDetectTextRectanglesRequest.m
        src/ShotflowDetection.m
        src/VNDetectFaceRectanglesRequest.m
        src/VNRequestPerformer.m
        src/VNMPContext.m
        src/VNIdentifyJunkRequest.m
        src/VNSceneClassificationRequestConfiguration.m
        src/VNSceneClassificationRequest.m
        src/VNCoreMLRequestConfiguration.m
        src/VNCoreMLRequest.m
        src/VNAlignFaceRectangleRequestConfiguration.m
        src/VNAlignFaceRectangleRequest.m
        src/VNClustererOptions.m
        src/VNClustererQueryOptions.m
        src/VNClustererBuilderOptions.m
        src/VNClustererQuery.m
        src/VNClustererBuilder.m
        src/VNProcessingDevice.m
        src/VNSceneClassifier.m
        src/VNGenerateImageFeaturePrintRequestConfiguration.m
        src/VNGenerateImageFeaturePrintRequest.m
        src/VNCreateFaceRegionMapRequest.m
        src/VNSceneTaxonomyOperationPoints.m
        src/ShotflowNetwork.m
        src/ShotflowNetworkANFDv1.m
        src/ShotflowNetworkANFDv2.m
        src/VNFaceLandmarkDetectorRevision3.m
        src/VNBrightnessMeasure.m
        src/VNCreateFaceTorsoprintRequest.m
        src/VNFaceLandmarkDetectorRevision2.m
        src/VNTrackRectangleRequest.m
        src/VNTrackObjectRequest.m
        src/VNCreateFaceprintRequestConfiguration.m
        src/VNCreateFaceprintRequest.m
        src/VNTracker.m
        src/VNImageExposureScoreRequest.m
        src/VNSmartCamCombinedAestheticsAndSaliencyDetector.m
        src/VNGenerateOpticalFlowRequest.m
        src/VNANERuntimeProcessingDevice.m
        src/VNRequestPerformingContext.m
        src/VNDetectFaceExpressionsRequest.m
        src/VNMPImageSharpness.m
        src/VNImageRegistrationSignature.m
        src/VNImageRegistration.m

    DEPENDENCIES
        system
        objc
        Foundation
)
