project(SceneKit)

remove_sdk_framework(SceneKit)

set(DYLIB_COMPAT_VERSION "1.0.0")
set(DYLIB_CURRENT_VERSION "581.255.0")

set(FRAMEWORK_VERSION "A")

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

add_framework(SceneKit
	FAT
	CURRENT_VERSION
	VERSION ${FRAMEWORK_VERSION}

	SOURCES
		src/SCNUIDynamicInspector.m
		src/SCNCoreAnimationSource.m
		src/SCNUIScrubber.m
		src/SCNAnimationReference.m
		src/SCNPhysicsContact.m
		src/SCNActionGroup.m
		src/SCNUID_ConstantTransformer.m
		src/SCNPhysicsLinearGravityField.m
		src/SCNAuthoringEnvironment.m
		src/SCNPhysicsVehicle.m
		src/SCNGeometrySource.m
		src/SCNReplicatorConstraint.m
		src/SCNJSImage.m
		src/SCNTransaction.m
		src/SCNCamera.m
		src/SCNUIArrayEditor.m
		src/SCNPass.m
		src/SCNTransformConstraint.m
		src/SCNPhysicsField.m
		src/SCNActionSequence.m
		src/SCNPhysicsBallSocketJoint.m
		src/_SCNExportOperation.m
		src/SCNPhysicsSliderJoint.m
		src/SCNMTLBufferAllocator.m
		src/SCNMTLShadable.m
		src/SCNCylinder.m
		src/SCNMTLTessellator.m
		src/SCNDeferredProgramGeneratorMetal.m
		src/SCNLookAtConstraint.m
		src/C3DEngineNotificationQueueTransientWrapper.m
		src/SCNNodeManipulableItem.m
		src/SCNCommonProfileProgramGeneratorMetal.m
		src/SCNManipulator.m
		src/SCNActionReference.m
		src/SCNBackingLayer.m
		src/SCNGeometry.m
		src/SCNMTLArgumentBinder.m
		src/SCNRenderTarget.m
		src/SCNMaterial.m
		src/C3DBinding.m
		src/SCNReferenceNode.m
		src/SCNCommonProfileProgramCache.m
		src/SCNAuthoringEnvironment2.m
		src/SCNAction.m
		src/USKObjectPath_helper.m
		src/SCNTechnique.m
		src/SCNShadableHelper.m
		src/SCNJitterer.m
		src/SCNMTLLibraryManager.m
		src/SCNSliderConstraint.m
		src/SCNShape.m
		src/SCNPhysicsRadialGravityField.m
		src/SCNEffect.m
		src/SCNAnimationPlayer.m
		src/SCNPhysicsConeTwistJoint.m
		src/SCNMTLLibrary.m
		src/SCNMTLResourceBinding.m
		src/SCN_NSImageFromSlotContents.m
		src/SCNMTLShaderBindingsGenerator.m
		src/SCNParticlePropertyController.m
		src/SCNTextureCoreAnimationSource.m
		src/SCNFixedSizePage.m
		src/SCNMetalLayer.m
		src/SCN_CAKeyframeAnimation.m
		src/SCNRendererEvents.m
		src/SCNUISceneGraphView.m
		src/SCNRendererOptionsPanelController.m
		src/SCNActionTargetState.m
		src/SCNGeometryTessellator.m
		src/SCNBox.m
		src/SCNPhysicsTurbulenceField.m
		src/_C3DProgressDebugger.m
		src/SCNActionRepeat.m
		src/SCNCapsule.m
		src/SCNActionPlaySound.m
		src/SCNPlane.m
		src/SCNSpriteKitSource.m
		src/SCNPhysicsNoiseField.m
		src/SCNCaptureDeviceSource.m
		src/SCNDistanceConstraint.m
		src/SCNMTLRenderContext.m
		src/SCNPyramid.m
		src/SCNCameraControlEventHandler.m
		src/SCNAssetCatalog.m
		src/SCNActionJavaScript.m
		src/SCNExportOperation.m
		src/SCNSphere.m
		src/SCNOrderedDictionary.m
		src/SCNCaptureDeviceOutputConsumerSource.m
		src/SCNUIPopUpButton.m
		src/SCNPhysicsBehavior.m
		src/SCNUIColorWell.m
		src/SCNMetalWireframeResource.m
		src/SCNTimingFunction.m
		src/SCNAudioSource.m
		src/SCNNodeReference.m
		src/SCNMTLShadableKey.m
		src/SCNProgramSemanticInfo.m
		src/SCNView.m
		src/SCN3DConnexionDevice.m
		src/SCNKeyedArchiver.m
		src/SCNActionCustom.m
		src/SCNUIVector4TextField.m
		src/SCNMTLPassResourceBinding.m
		src/SCNCommonProfileProgramGeneratorGL.m
		src/SCNPhysicsShape.m
		src/SCNAudioPlayer.m
		src/SCNMonitor.m
		src/SCNTypeInspector.m
		src/SCNUIVector3TextField.m
		src/SCNNode.m
		src/SCNSourceRendererRegistry.m
		src/SCNUIScrubberCell.m
		src/SCNAvoidOccluderConstraint.m
		src/SCNUIImagePicker.m
		src/SCNCommonProfileProgramGenerator.m
		src/SCNTorus.m
		src/SCNMovieExportOperation.m
		src/SCNPhysicsVortexField.m
		src/SCNUIHandleButton.m
		src/SCNUIVector2TextField.m
		src/SCNActionPerformSelector.m
		src/SCNGeometryElement.m
		src/SCNIKJoint.m
		src/SCNUIProperty.m
		src/SCNTextureSource.m
		src/SCNTechniquePanelController.m
		src/SCNPassContext.m
		src/SCNTextureSpriteKitSource.m
		src/SCNJSValueTmpImp.m
		src/SCNDisplayLink.m
		src/SCNMutableGeometrySource.m
		src/SCNMorpher.m
		src/SCNAnimation.m
		src/C3DIONSZipFileArchive.m
		src/SCNParticleSystem.m
		src/SCNStatisticsProvider.m
		src/SCNCameraController.m
		src/SCNPrecomputedLightingEnvironment.m
		src/SCNMetalBackingLayer.m
		src/SCNLayer.m
		src/SCNTube.m
		src/SCNMaterialPropertyTextureProviderSource.m
		src/C3DAnimationBinding.m
		src/SCNActionRotate.m
		src/SCNUIBindableView.m
		src/SCNUID_NumberTransformer.m
		src/SCNPhysicsCharacter.m
		src/SCNKeyedUnarchiver.m
		src/SCNUIDynamicInspectorConfiguration.m
		src/SCNUIArrayEditorController.m
		src/SCNLowLatencyMetalLayer.m
		src/SCNRenderer.m
		src/SCNActionMove.m
		src/SCNConstantScaleConstraint.m
		src/SCNBoundingSphere.m
		src/SCNWeakPointer.m
		src/SCNProgram.m
		src/SCNImageSource.m
		src/SCNMTLComputePipeline.m
		src/SCNConstraint.m
		src/SCNFloor.m
		src/SCNMTLBufferAllocatorSubBuffer.m
		src/SCNActionScale.m
		src/SCNRenderTargetView.m
		src/SCNPhysicsHingeJoint.m
		src/SCNText.m
		src/SCNNodeWeakComponent.m
		src/SCNActionRemove.m
		src/SCNPhysicsWorld.m
		src/SCNRendererOptionsPanel.m
		src/SCNActionWait.m
		src/SCNAssetCatalogCacheEntry.m
		src/SCNAVPlayerSource.m
		src/SCNJSValue.m
		src/SCNGeometryDeformer.m
		src/SCNSpriteKitEventHandler.m
		src/_SCNShadableCompilationIssue.m
		src/SCNPhysicsBody.m
		src/SCNMaterialProperty.m
		src/SCNTextureDelegateSource.m
		src/SCNActionHide.m
		src/SCNManipulableItem.m
		src/SCNMTLSemanticResourceBinding.m
		src/SCNDelegateSource.m
		src/SCNMTLBuffer.m
		src/SCNBoundingBox.m
		src/SCN_NSImageFromImageValue.m
		src/SCNActionRunAction.m
		src/SCNCone.m
		src/SCNBufferBinding.m
		src/SCNUIMatrix4TextField.m
		src/SCNPhysicsElectricField.m
		src/SCNRendererTransitionContext.m
		src/SCNActionRunBlock.m
		src/SCNPhysicsVehicleWheel.m
		src/SCNSceneSource.m
		src/SCNMTLMeshElement.m
		src/USKHelper.m
		src/SCNPhysicsMagneticField.m
		src/SCNRecursiveLock.m
		src/SCNMTLSkin.m
		src/SCNMTLMorph.m
		src/SCNRendererViewPoint.m
		src/SCNAccelerationConstraint.m
		src/SCNPhysicsSpringField.m
		src/SCNAnimationEvent.m
		src/SCNMTLResourceManager.m
		src/SCNTechniquePanel.m
		src/SCNCameraNavigationController.m
		src/SCNBillboardConstraint.m
		src/SCNHitTestResult.m
		src/SCNSceneDatabase.m
		src/SCNMTLMesh.m
		src/SCNScene.m
		src/SCNNodeComponent.m
		src/SCNActionFade.m
		src/SCNCOLLADAExportOperation.m
		src/SCNTextureOffscreenRenderingSource.m
		src/SCNLevelOfDetail.m
		src/USKToken_helper.m
		src/SCNPhysicsCustomField.m
		src/SCNIKConstraint.m
		src/SCNEventHandler.m
		src/SCNLight.m
		src/SCNOffscreenRenderer.m
		src/SCNMaterialAttachment.m
		src/USKData_helper.m
		src/SCNMTLRenderPipeline.m
		src/SCNMutableGeometry.m
		src/SCNSkinner.m
		src/SCNSceneLookUpUnarchiver.m
		src/SCNPhysicsDragField.m
		src/NSObject+SCN_DisplayLinkExtensions.m
		src/CAAnimation+SceneKitAdditions.m
		src/NSColor+SCNAdditions.m
		src/NSArray+SCNAdditions.m
		src/MDLSubmesh+SCNModelIO.m
		src/MDLAsset+SCNModelIO.m
		src/MDLLight+SCNModelIO.m
		src/MDLMesh+SCNModelIO.m
		src/MDLLightProbe+SCNModelIO.m
		src/MDLObject+SCNModelIO.m
		src/NSImageRep+SCNAdditions.m
		src/NSData+SCNExtensions.m
		src/CAKeyframeAnimation+SCNAddition.m
		src/NSDictionary+SCNAdditions.m
		src/NSImage+SCNAddition.m
		src/NSCoder+SCNExtensions.m
		src/MDLCamera+SCNModelIO.m
		src/NSValue+Core3DKitAdditions.m
		src/CALayer+SCN_JSSupport.m
		src/MDLMaterial+SCNModelIO.m
		src/NSString+SCNExtensions.m
		src/SceneKit.m

	DEPENDENCIES
		system
		objc
		Foundation
		AppKit
		QuartzCore
		ModelIO
)
