project(SpriteKit)

remove_sdk_framework(SpriteKit)

set(DYLIB_COMPAT_VERSION "1.0.0")
set(DYLIB_CURRENT_VERSION "25.37.0")

set(FRAMEWORK_VERSION "A")

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

add_framework(SpriteKit
    FAT
    CURRENT_VERSION
    VERSION ${FRAMEWORK_VERSION}

    SOURCES
        src/SpriteKit.m
        src/SKReferencedAction.m
        src/SKTransition.m
        src/SKBitmapFont.m
        src/SKLabelNode.m
        src/SKTileMapNode.m
        src/SKAudioNode.m
        src/SKSCNRenderer.m
        src/SKThreadSafeMapTable.m
        src/SKThreadSafeMutableArray.m
        src/SKThreadSafeMutableDictionary.m
        src/SKView.m
        src/SKPlaySound.m
        src/SKCustomAction.m
        src/SKRunBlock.m
        src/SKParticleSystemNode.m
        src/SKAction.m
        src/SKActionTable.m
        src/SKAnimate.m
        src/SKAnimateWarp.m
        src/SKReferenceNode.m
        src/SKColorize.m
        src/SKFade.m
        src/SKGroup.m
        src/SK3DNode.m
        src/SKFieldNode.m
        src/SKDragFieldNode.m
        src/SKVortexFieldNode.m
        src/SKLinearGravityFieldNode.m
        src/SKRadialGravityFieldNode.m
        src/SKCustomFieldNode.m
        src/SKVelocityFieldNode.m
        src/SKNoiseFieldNode.m
        src/SKTurbulenceFieldNode.m
        src/SKSpringFieldNode.m
        src/SKMagneticFieldNode.m
        src/SKElectricFieldNode.m
        src/SKMove.m
        src/SKCameraNode.m
        src/SKRemove.m
        src/SKRepeat.m
        src/SKSpeed.m
        src/SKFrameCaptureDelegate.m
        src/SKRotate.m
        src/SKRunAction.m
        src/SKScale.m
        src/SKSequence.m
        src/SKWarpGeometry.m
        src/SKWarpGeometryGrid.m
        src/SKWait.m
        src/SKFollowPath.m
        src/SKGlobalSharedContextRegistry.m
        src/SKTransformNode.m
        src/SKScene.m
        src/SKShapeNode.m
        src/SKSpriteNode.m
        src/SKEffectNode.m
        src/SKDisplayLink.m
        src/SKRange.m
        src/SKConstraint.m
        src/SKSizeConstraint.m
        src/SKScaleConstraint.m
        src/SKRotationConstraint.m
        src/SKOrientationConstraint.m
        src/SKDistanceConstraint.m
        src/SKPositionConstraint.m
        src/SKCaptureUnarchiverDelegate.m
        src/SKNodeVisualRepresentationUnarchiver.m
        src/SKNode.m
        src/SKNodeCustomClassUnarchiver.m
        src/SKNodeVisualRepresentationArchiver.m
        src/SKUniformShaderReference.m
        src/SKUniform.m
        src/SKTileDefinition.m
        src/SKButtonNode.m
        src/SKButtonNodeSprite.m
        src/SKEmitterNode.m
        src/SKKeyframeSequence.m
        src/SKVideoNode.m
        src/SKTextureCache.m
        src/SKTexture.m
        src/SKTextureAtlas.m
        src/SKRegion.m
        src/SKOpenGLLayer.m
        src/SKKeyedUnarchiver.m
        src/SKCropNode.m
        src/SKHide.m
        src/SKPerformSelector.m
        src/SKJavaScriptAction.m
        src/SKSoundBuffer.m
        src/SKTextureAtlasPacker.m
        src/SKSoundContext.m
        src/SKSoundSource.m
        src/SKSceneUnarchiveDummy.m
        src/SKMutableTexture.m
        src/IKLink.m
        src/SKReach.m
        src/SKTileGroupRule.m
        src/SKTileGroup.m
        src/SKTileSet.m
        src/SKTileStamp.m
        src/SKRenderer.m
        src/SKStrength.m
        src/SKResize.m
        src/SKPhysicsBody.m
        src/SKPhysicsContact.m
        src/SKPhysicsJoint.m
        src/SKPhysicsJointPin.m
        src/SKPhysicsJointSpring.m
        src/SKPhysicsJointFixed.m
        src/SKPhysicsJointSliding.m
        src/SKPhysicsJointLimit.m
        src/SKPhysicsWorld.m
        src/SKLightNode.m
        src/SKUniformInfo.m
        src/SKShader.m
        src/SKReachConstraints.m
        src/SKOpenGLNode.m
        src/SKPhysicsGrid.m
        src/SKFalloff.m
        src/SKAttribute.m
        src/SKAttributeValue.m

    DEPENDENCIES
        system
        objc
        Foundation
)
