project(QuartzComposer)

set(DYLIB_COMPAT_VERSION "1.0.0")
set(DYLIB_CURRENT_VERSION "168.0.0")

set(SUBFRAMEWORK_VERSION "A")

generate_sdk_subframework(QuartzComposer
	BASE_PATH ${quartz_sdk_path}
	VERSION ${SUBFRAMEWORK_VERSION}
	HEADER "include/QuartzComposer"
)

add_framework(QuartzComposer
	FAT
	CURRENT_VERSION
	VERSION ${SUBFRAMEWORK_VERSION}
	PARENT "Quartz"

	SOURCES
		src/QCView.m
		src/QCInteractionManager.m
		src/QCSCN_GeometrySource.m
		src/QCTrackBall.m
		src/QCPatchParametersView.m
		src/QCFilter.m
		src/QCKeyboardTableView.m
		src/QCPlugInInspector.m
		src/QCSCN_BackingLayer.m
		src/QCImage3DMemObject.m
		src/QCImagePixel.m
		src/QCFakePatch.m
		src/QCInterpolationView.m
		src/QCPixelFormat_RGBA8.m
		src/QCCompositionLayer.m
		src/QCMeshRenderer.m
		src/QCKeyFrameEditorWindow.m
		src/QCColorPort.m
		src/QCCompositionParameterView.m
		src/QCOpenGLPort_SceneKitCulling.m
		src/QCNumberFormatterUI.m
		src/GFStringEditorWindow.m
		src/QCObject.m
		src/QCPixelFormat_RGBAf.m
		src/GFPort.m
		src/GFNodeManager.m
		src/QCPatchPathView.m
		src/QCProvider_SceneKit.m
		src/QCCGLContext.m
		src/QCMultiplexerStringPort.m
		src/QCRenderer.m
		src/QCGraphicsContext.m
		src/QCEventManager.m
		src/QCSCN_EventHandler.m
		src/QCNetworkBroadcasterUI.m
		src/QCMeshMaterialGetter.m
		src/QCMultiplexerMeshPort.m
		src/QCContextProExtension.m
		src/QCImageTextureBuffer.m
		src/QCOpenGLPort_SceneKitBlending.m
		src/QCConverter_OpenGL.m
		src/QCSCN_LoadingLayer.m
		src/QCColorCell.m
		src/QCPatchRenderer.m
		src/QCSampleHold.m
		src/QCSCN_DelegateSource.m
		src/QCImageConversionSequence.m
		src/QCImagePort.m
		src/QCPortTooltipView.m
		src/QCSCN_Skinner.m
		src/QCSCN_Camera.m
		src/QCPatchParameterView.m
		src/QCPixelFormat.m
		src/QCOpenGLPort_Mesh.m
		src/QCImageFocusRect.m
		src/QCKeyFrameEditor.m
		src/QCCompositionSortDescriptor.m
		src/QCPatchRenderingInfo.m
		src/QCTimeLineLegendColorWell.m
		src/QCSCN_CameraControlEventHandler.m
		src/GFNodeInspectorViewsController.m
		src/QCNumberFormatter.m
		src/QCPixelFormat_RGBf.m
		src/QCSCN_EventHandlerReserved.m
		src/QCPatchView.m
		src/QCCore3DLoader.m
		src/QCPulse.m
		src/QCFlameImage.m
		src/QCProxyPort.m
		src/QCLines.m
		src/QCStructurePort.m
		src/QCSmooth.m
		src/QCImageResize.m
		src/QCMouseInteraction.m
		src/QCBillboardUI.m
		src/QCCompositionPickerView.m
		src/GFTooltipView.m
		src/QCImageAccumulator.m
		src/QCColorMixer.m
		src/QCOSCReceiver.m
		src/QCImageProvider.m
		src/QCGLSLShader.m
		src/QCPatch.m
		src/QCHIDInputUI.m
		src/QCSCN_CARendererRegistry.m
		src/QCPatchProfileView.m
		src/QCPixelFormat_If.m
		src/QCRepositoryCompositions.m
		src/GFInspectorWindow.m
		src/QCStringCompare.m
		src/QCGraphicsRenderState.m
		src/QCInteractionPatchActor.m
		src/QCDetector.m
		src/QCSCN_CameraControlEventHandlerReserved.m
		src/QCHostInfo.m
		src/QCNetworkPatchUI.m
		src/QCTimeLineUI.m
		src/QCInterpolationUI.m
		src/QCStructureCIVectorPort.m
		src/GFGraphEditorInspector.m
		src/QCBooleanPort.m
		src/QCImageLoaderView.m
		src/QCStringMD5.m
		src/QCNetworkReceiver.m
		src/QCExporter_CoreAnimation.m
		src/QCConverter_YUV422.m
		src/QCMeshMaterialSetter.m
		src/QCImageView.m
		src/QCResourcePool.m
		src/QCSCN_HitTestResult.m
		src/QCImageManagerProfileView.m
		src/QCStringTimecode.m
		src/QCProvider_OpenCL.m
		src/QCPatchEditorView.m
		src/QCImageMetadata.m
		src/GFGraphPathView.m
		src/QCPixelFormat_M_Ih.m
		src/QCImageManagerAgeProfileView.m
		src/QCImageTransform.m
		src/QCIteratorVariables.m
		src/QCDateFormatterUI.m
		src/QCSCN_ProgramReserved.m
		src/QCNoise.m
		src/QCProvider_CoreText.m
		src/QCBonjourServices.m
		src/QCCore3DLoaderUI.m
		src/QCAnchorPosition.m
		src/QCLogic.m
		src/QCRoundValue.m
		src/QCSCN_Node.m
		src/QCPixelFormat_422YpCbCr8_601.m
		src/QCProvider_CoreGraphics.m
		src/QCKeyFrameList.m
		src/QCTablet.m
		src/QCStructureMember.m
		src/QCRenderingPatch.m
		src/QCMultiplexer.m
		src/QCContact.m
		src/QCSCN_MaterialReserved.m
		src/QCSCN_TextureLayerSource.m
		src/QCOpenCLInfo.m
		src/QCSourceCodeView.m
		src/QCCGLRootContext.m
		src/QCIndexPort.m
		src/QCContext.m
		src/QCCroppedProvider_CoreText.m
		src/QCProgrammablePatchView.m
		src/QCArrayMemObject.m
		src/QCPhysicsEffect.m
		src/QCCompositionPickerPanel.m
		src/QCDatagramReceiver.m
		src/QCSCN_Renderer.m
		src/QCStreamManager.m
		src/QCPatchInfo.m
		src/QCCache.m
		src/QCStreamProvider.m
		src/QCParticleSystem.m
		src/QCSCN_GeometrySourceReserved.m
		src/QCConverter_CoreImage.m
		src/QCRandom.m
		src/QCPixelFormat_CMYK8.m
		src/QCSCN_CameraReserved.m
		src/QCStringFormat.m
		src/QCQuadricUI.m
		src/QCFog.m
		src/QCMouse.m
		src/QCTimeLineLegendTextField.m
		src/QCList.m
		src/QCColorToComponents.m
		src/QCLog.m
		src/GFNodeClassDescriptionRegistry.m
		src/QCRecursor.m
		src/QCSCN_Parameter.m
		src/QCInspector.m
		src/QCPixelFormat_CMYKf.m
		src/QCRenderState.m
		src/QCPixelFormat_YUVS.m
		src/QCCompositionPickerController.m
		src/QCPixelFormat_KYMC8.m
		src/QCSplitter.m
		src/QCGLSLShaderUI.m
		src/QCImageLoader.m
		src/QCExporter_CoreImage_Provider.m
		src/QCConverter_XRGB.m
		src/QCExporter_CoreVideo.m
		src/QCPixelFormat_ARGB8.m
		src/QCMultiplexerUI.m
		src/QCPixelFormat_BGRX8.m
		src/QCCroppedProvider_CoreGraphics.m
		src/QCComposition.m
		src/QCSCN_GeometryElement.m
		src/QCPixelFormat_M_I8.m
		src/QCSprite.m
		src/QCImageProperties.m
		src/QCStringLength.m
		src/QCMesh.m
		src/QCCompositionPickerLayer.m
		src/QCDepthBlurEffectEditor.m
		src/QCOpenGLContext.m
		src/QCPortView.m
		src/QCMeshTransform.m
		src/QCSCN_SceneReserved.m
		src/QCSCN_BasicLayerAnimation.m
		src/QCCompositionPickerInfos.m
		src/QCExporter_OpenCL.m
		src/QCFlameImageUI.m
		src/QCTimeLineEditorView.m
		src/QCKeyFrameEditorView.m
		src/QCClock.m
		src/QCKeyboard.m
		src/QCPixelFormat_RGB16.m
		src/QCDepthBlurEffectImage.m
		src/QCSCN_GeometryElementReserved.m
		src/QCImagePort_Cache.m
		src/QCTextRenderer.m
		src/QCSpotlight.m
		src/QCSCN_BoundingBox.m
		src/QCClear.m
		src/QCImageInfo.m
		src/QCDepthBlurEffectDetector.m
		src/QCStringPort.m
		src/QCPixelFormat_RGBh.m
		src/QCOSCBroadcaster.m
		src/QCIndexMenuValueTransformer.m
		src/QCMultiplexerNumberPort.m
		src/QCMiniPatchActor.m
		src/QCOpenCLConverter.m
		src/QCSCN_MaterialPropertyReserved.m
		src/QCExporter_CoreImage.m
		src/GFSettingsColumn.m
		src/QCCirclePatchActor.m
		src/QCCamera.m
		src/QCCLProgram.m
		src/QCArrayBufferObject.m
		src/QCPixelFormat_RGBX8.m
		src/QCDatagramSocket.m
		src/QCCompositionPickerGridCellLayer.m
		src/QCDateFormatter.m
		src/QCStringComponents.m
		src/QCSCN_SceneSource.m
		src/QCCompositionEditor.m
		src/QCClearUI.m
		src/QCSharedPatchActor.m
		src/QCSCN_BoundingSphere.m
		src/QCDownloadPatch.m
		src/QCMath.m
		src/QCSCN_AnimationInfo.m
		src/QCImage.m
		src/QCColorMask.m
		src/QCDifferentialValue.m
		src/QCFPSDisplay.m
		src/QCStreamExporter_QCArray.m
		src/QCImageHistogram.m
		src/QCDatagramBroadcaster.m
		src/QCSCN_TextureDelegateSource.m
		src/QCDepthBlurEffectParameters.m
		src/QCSCN_ViewReserved.m
		src/QCSCN_ParameterReserved.m
		src/QCBonjourServicesUI.m
		src/QCSCN_EdgeAntialiasingOptionsReserved.m
		src/QCRunLoopPatch.m
		src/QCPixelFormat_RGBA16.m
		src/QCSCN_LayerSource.m
		src/QCReplicator.m
		src/QCSetStructureValue.m
		src/QCSCN_GeometryReserved.m
		src/QCTextImageUI.m
		src/QCOpenGLPort_Blending.m
		src/QCOpenCLUI.m
		src/QCStringCase.m
		src/QCStructureCount.m
		src/QCSourceRulerView.m
		src/QCResource.m
		src/QCSynchronousURLConnectionDelegate.m
		src/QCSCN_SceneSourceReserved.m
		src/QCProjection.m
		src/QCCube.m
		src/QCPlugInViewController.m
		src/QCCompositionLayer_QCViewBacking.m
		src/QCExporter_CoreGraphics.m
		src/GFSettingsView.m
		src/QCMultiplexerStructurePort.m
		src/QCSourceTextView.m
		src/QCMeshPropertyGetter.m
		src/QCProvider_CoreAnimation.m
		src/QCImageLoaderUI.m
		src/QCSCN_Material.m
		src/QCOpenCL.m
		src/QCPatchActor.m
		src/QCHotZone.m
		src/QCSCN_MaterialProperty.m
		src/QCGrid.m
		src/QCScaledNumberPort.m
		src/QCIterator.m
		src/GFTooltipWindow.m
		src/QCColorTransform.m
		src/QCProgrammablePatch.m
		src/QCStreamProvider_Core3D.m
		src/QCStructureSort.m
		src/QCCroppedImageProvider.m
		src/QCSCN_Morpher.m
		src/QCPixelFormat_RGB8.m
		src/QCTextView.m
		src/QCStructure.m
		src/QCPatchClassDescription.m
		src/QCNetworkReceiverUI.m
		src/QCStreamExporter.m
		src/QCCircularSlider.m
		src/QCPatchBrowserView.m
		src/QCStreamProvider_QCArray.m
		src/QCImageDownloader.m
		src/QCOSCPatch.m
		src/QCSCN_Layer.m
		src/QCOpenGLPort_ZBuffer.m
		src/QCLine.m
		src/QCPlugOutputImage.m
		src/QCStructureReverse.m
		src/QCDataImage.m
		src/QCPlasmaImageUI.m
		src/QCSCN_RendererCameraModifier.m
		src/QCSCN_TextureOffscreenRenderingSource.m
		src/QCObjectPort.m
		src/QCPsychedelic.m
		src/QCDirectoryScanner.m
		src/QCSharedTimers.m
		src/QCDemultiplexer.m
		src/QCConverter_GLImageLib.m
		src/QCSCN_Program.m
		src/QCSCN_Scene.m
		src/QCPatchManagerView.m
		src/QCInterpolationPort.m
		src/QCSCN_LightReserved.m
		src/QCOpenGLPort_Color.m
		src/QCProvider_CoreVideo.m
		src/QCImageBuffer_GCCacheResource.m
		src/QCStringTruncate.m
		src/QCNSBitmapImageRep.m
		src/QCSCN_LayerReserved.m
		src/QCPort.m
		src/QCAppleRemote.m
		src/QCBillboard.m
		src/QCCounter.m
		src/QCCompositionPickerNavigationView.m
		src/QCPatchProExtension.m
		src/QCImageTextureBuffer_CVOpenGLTexture.m
		src/QCImageBufferProvider.m
		src/QCPixelFormat_422YpCbCr8_709.m
		src/QCScreenInfoUI.m
		src/QCRawFilter.m
		src/QCArrayTexture3D.m
		src/QCPlasmaImage.m
		src/QCConditional.m
		src/QCNumericalFormatter.m
		src/QCSCN_RendererReserved.m
		src/QCSignal.m
		src/QCNetworkPatch.m
		src/QCPixelFormat_RGBAh.m
		src/QCURLConnection.m
		src/QCXMLDownloader.m
		src/QCTeapot.m
		src/QCStructureAsString.m
		src/QCImageKernelUI.m
		src/QCImage2DMemObject.m
		src/GFConnection.m
		src/QCMeshCreator.m
		src/QCSCN_TextureSource.m
		src/QCScreenInfo.m
		src/QCImageCrop.m
		src/QCOSCPatchUI.m
		src/QCPsychedelicUI.m
		src/QCZoomView.m
		src/QCMultiplexerImagePort.m
		src/QCImageFilter.m
		src/QCMeshPropertySetter.m
		src/GFNodeClassDescription.m
		src/QCStructureDictionaryPort.m
		src/QCProvider_CoreImage.m
		src/QCTime.m
		src/QCSCN_EdgeAntialiasingOptions.m
		src/QCRenderView.m
		src/GFList.m
		src/QCExporter_NSImage.m
		src/QCDirectoryScannerUI.m
		src/QCMemObject.m
		src/QCSCN_LayerFixedPipeline.m
		src/QCLFO.m
		src/QCMultiplexerColorPort.m
		src/QCGradient.m
		src/QCStructureRange.m
		src/QCImageAccumulatorUI.m
		src/QCColorFromComponents.m
		src/QCTimeLine.m
		src/QCImageSurfaceBuffer.m
		src/QCStreamProvider_QCMemObject.m
		src/QCOpenGLPort_Image.m
		src/QCImageManager.m
		src/QCMultiplexerIndexPort.m
		src/QCTimeLoop.m
		src/QCSCN_Light.m
		src/QCPixelFormat_Ih.m
		src/QCPixelFormat_I8.m
		src/QCRenderInImageUI.m
		src/QCImageDownloaderUI.m
		src/QCProfileConfigurationView.m
		src/QCParticleSystemUI.m
		src/QCCLContext.m
		src/QCImageColorMatchingProperties.m
		src/QCRenderInImage.m
		src/QCOpenGLRenderState.m
		src/QCImageBuffer.m
		src/QCTextImage.m
		src/QCPlugInInputImage.m
		src/GFGraphView.m
		src/QCTrackBallUI.m
		src/QCThreadPatch.m
		src/QCPixelFormat_M_I16.m
		src/QCSCN_HitTestResultReserved.m
		src/QCStructureArrayPort.m
		src/QCDashboardButton.m
		src/GLSLParameterInfo.m
		src/GFGraphEditorView.m
		src/QCPlugIn.m
		src/QCPixelFormat_I16.m
		src/QCStream.m
		src/GFNodeActor.m
		src/QCOSCReceiverUI.m
		src/QCSCN_ImageSource.m
		src/QCSCN_MaterialAttachment.m
		src/QCSystemTime.m
		src/QCPhysics.m
		src/GFNodeManagerView.m
		src/QCOpenGLInfoUI.m
		src/QCPixelFormat_XRGB8.m
		src/QCImageTexturingProperties.m
		src/GFStringEditor.m
		src/QCProfileView.m
		src/QCSCN_View.m
		src/QCAgeProfileView.m
		src/QCRangeValue.m
		src/QCMathematicalExpression.m
		src/QCPickerSelectionLayer.m
		src/QCPatchController.m
		src/QCProviderImageCache.m
		src/QCImageKernel.m
		src/QCCompositionPickerGridLayer.m
		src/QCStringReplace.m
		src/NSOpenGLContext_QuartzComposer.m
		src/QCMeshPort.m
		src/QCLogView.m
		src/QCWatcher.m
		src/QCNumberPort.m
		src/QCTimeLineView.m
		src/GFNode.m
		src/QCInteractionPort.m
		src/QCSCN_LoadingProgressIndicatorLayer.m
		src/QCImageExporter.m
		src/QCImageOrigin.m
		src/QCNodeManager.m
		src/QCImageBufferConverter.m
		src/QCNetworkSynchronizer.m
		src/QCFullScreenWindow.m
		src/QCStringRange.m
		src/QCMultiplexerVirtualPort.m
		src/QCRenderingManager.m
		src/QCLighting.m
		src/QCCompositionCellLayer.m
		src/QCExpression.m
		src/QCExpressionUI.m
		src/QCSCN_MorpherReserved.m
		src/QCPlugInPatch.m
		src/GFGraph.m
		src/QCCompositionRepository.m
		src/QCOSCBroadcasterUI.m
		src/QCSCN_NodeReserved.m
		src/QCSlideShowController.m
		src/QCBasicImageBufferConverter.m
		src/QCOpenGLInfo.m
		src/QCParameterInfo.m
		src/QCImagePixelBuffer.m
		src/QCSplitterIndexPort.m
		src/QCQuadric.m
		src/QCInterpolation.m
		src/QCTableView.m
		src/QCSCN_Transaction.m
		src/QCSCN_Geometry.m
		src/QCHIDInput.m
		src/QCPixelFormat_M_If.m
		src/QCImageDimensions.m
		src/QCNetworkSynchronizerUI.m
		src/QCConverter_CoreGraphics.m
		src/QCPixelFormat_BGRA8.m
		src/QCRegion.m
		src/QCWatcherUI.m
		src/QCPatchRendererUI.m
		src/QCPixelFormat_CMYK16.m
		src/QCInfo.m
		src/QCVirtualPort.m
		src/QCArray.m
		src/QCQueue.m
		src/QCNetworkBroadcaster.m
		src/QCDemultiplexerUI.m
		src/GFGraphBrowserView.m
		src/QCPortGLView.m
		src/QCKeyboardUI.m
		src/QCOpenGLPort_Culling.m
		src/QCLink.m
		src/QCSplitterUI.m
		src/QCMultiplexerBooleanPort.m
		src/NSImage+QCSCN_Addition.m
		src/NSColor+QCSCN_Additions.m
		src/CAAnimation+SceneKitAdditions.m
		src/NSObject+GFSettingsViewDelegate.m
		src/NSValue+Core3DKitAdditions.m
		src/NSImageRep+QCSCN_Additions.m
		src/NSString+QCTextRenderer.m
		src/NSTextView+GFLogMessage.m
		src/NSMutableDictionary+GFPrivateExtensions.m
		src/QuartzComposer.m

	DEPENDENCIES
		system
		objc
		Foundation
		QuartzCore
		AppKit
)
