if(WINDOWS AND BUILD_SHARED_LIBS)
  ADD_DEFINITIONS (-D_USREXDLL)
endif()

include_directories(
  ../../extensions
)

set(COCOS_EXTENSIONS_SRC

  ../extensions/assets-manager/AssetsManager.cpp
  ../extensions/assets-manager/AssetsManagerEx.cpp
  ../extensions/assets-manager/CCEventAssetsManagerEx.cpp
  ../extensions/assets-manager/CCEventListenerAssetsManagerEx.cpp
  ../extensions/assets-manager/Manifest.cpp
  ../extensions/GUI/CCControlExtension/CCControl.cpp
  ../extensions/GUI/CCControlExtension/CCControlButton.cpp
  ../extensions/GUI/CCControlExtension/CCControlColourPicker.cpp
  ../extensions/GUI/CCControlExtension/CCControlHuePicker.cpp
  ../extensions/GUI/CCControlExtension/CCControlPotentiometer.cpp
  ../extensions/GUI/CCControlExtension/CCControlSaturationBrightnessPicker.cpp
  ../extensions/GUI/CCControlExtension/CCControlSlider.cpp
  ../extensions/GUI/CCControlExtension/CCControlStepper.cpp
  ../extensions/GUI/CCControlExtension/CCControlSwitch.cpp
  ../extensions/GUI/CCControlExtension/CCControlUtils.cpp
  ../extensions/GUI/CCControlExtension/CCInvocation.cpp
  ../extensions/GUI/CCScrollView/CCScrollView.cpp
  ../extensions/GUI/CCScrollView/CCTableView.cpp
  ../extensions/GUI/CCScrollView/CCTableViewCell.cpp
  ../extensions/physics-nodes/CCPhysicsDebugNode.cpp
  ../extensions/physics-nodes/CCPhysicsSprite.cpp
  ../extensions/Particle3D/CCParticle3DAffector.cpp
  ../extensions/Particle3D/CCParticle3DEmitter.cpp
  ../extensions/Particle3D/CCParticle3DRender.cpp
  ../extensions/Particle3D/CCParticleSystem3D.cpp
  ../extensions/Particle3D/PU/CCPUDynamicAttribute.cpp
  ../extensions/Particle3D/PU/CCPUDynamicAttributeTranslator.cpp
  ../extensions/Particle3D/PU/CCPUForceField.cpp
  ../extensions/Particle3D/PU/CCPUMaterialManager.cpp
  ../extensions/Particle3D/PU/CCPUMaterialTranslator.cpp
  ../extensions/Particle3D/PU/CCPUNoise.cpp
  ../extensions/Particle3D/PU/CCPUPlane.cpp
  ../extensions/Particle3D/PU/CCPURendererTranslator.cpp
  ../extensions/Particle3D/PU/CCPUScriptCompiler.cpp
  ../extensions/Particle3D/PU/CCPUScriptLexer.cpp
  ../extensions/Particle3D/PU/CCPUScriptParser.cpp
  ../extensions/Particle3D/PU/CCPUScriptTranslator.cpp
  ../extensions/Particle3D/PU/CCPUSimpleSpline.cpp
  ../extensions/Particle3D/PU/CCPUSphere.cpp
  ../extensions/Particle3D/PU/CCPUTechniqueTranslator.cpp
  ../extensions/Particle3D/PU/CCPUTranslateManager.cpp
  ../extensions/Particle3D/PU/CCPUUtil.cpp
  ../extensions/Particle3D/PU/CCPUParticleSystem3D.cpp
  ../extensions/Particle3D/PU/CCPUParticleSystem3DTranslator.cpp
  ../extensions/Particle3D/PU/CCPUListener.cpp
  ../extensions/Particle3D/PU/CCPUAffector.cpp
  ../extensions/Particle3D/PU/CCPUAffectorManager.cpp
  ../extensions/Particle3D/PU/CCPUAffectorTranslator.cpp
  ../extensions/Particle3D/PU/CCPUAlignAffector.cpp
  ../extensions/Particle3D/PU/CCPUAlignAffectorTranslator.cpp
  ../extensions/Particle3D/PU/CCPUBaseCollider.cpp
  ../extensions/Particle3D/PU/CCPUBaseColliderTranslator.cpp
  ../extensions/Particle3D/PU/CCPUBaseForceAffector.cpp
  ../extensions/Particle3D/PU/CCPUBaseForceAffectorTranslator.cpp
  ../extensions/Particle3D/PU/CCPUBoxCollider.cpp
  ../extensions/Particle3D/PU/CCPUBoxColliderTranslator.cpp
  ../extensions/Particle3D/PU/CCPUCollisionAvoidanceAffector.cpp
  ../extensions/Particle3D/PU/CCPUCollisionAvoidanceAffectorTranslator.cpp
  ../extensions/Particle3D/PU/CCPUColorAffector.cpp
  ../extensions/Particle3D/PU/CCPUColorAffectorTranslator.cpp
  ../extensions/Particle3D/PU/CCPUFlockCenteringAffector.cpp
  ../extensions/Particle3D/PU/CCPUFlockCenteringAffectorTranslator.cpp
  ../extensions/Particle3D/PU/CCPUForceFieldAffector.cpp
  ../extensions/Particle3D/PU/CCPUForceFieldAffectorTranslator.cpp
  ../extensions/Particle3D/PU/CCPUGeometryRotator.cpp
  ../extensions/Particle3D/PU/CCPUGeometryRotatorTranslator.cpp
  ../extensions/Particle3D/PU/CCPUGravityAffector.cpp
  ../extensions/Particle3D/PU/CCPUGravityAffectorTranslator.cpp
  ../extensions/Particle3D/PU/CCPUInterParticleCollider.cpp
  ../extensions/Particle3D/PU/CCPUInterParticleColliderTranslator.cpp
  ../extensions/Particle3D/PU/CCPUJetAffector.cpp
  ../extensions/Particle3D/PU/CCPUJetAffectorTranslator.cpp
  ../extensions/Particle3D/PU/CCPULineAffector.cpp
  ../extensions/Particle3D/PU/CCPULineAffectorTranslator.cpp
  ../extensions/Particle3D/PU/CCPULinearForceAffector.cpp
  ../extensions/Particle3D/PU/CCPULinearForceAffectorTranslator.cpp
  ../extensions/Particle3D/PU/CCPUParticleFollower.cpp
  ../extensions/Particle3D/PU/CCPUParticleFollowerTranslator.cpp
  ../extensions/Particle3D/PU/CCPUPathFollower.cpp
  ../extensions/Particle3D/PU/CCPUPathFollowerTranslator.cpp
  ../extensions/Particle3D/PU/CCPUPlaneCollider.cpp
  ../extensions/Particle3D/PU/CCPUPlaneColliderTranslator.cpp
  ../extensions/Particle3D/PU/CCPURandomiser.cpp
  ../extensions/Particle3D/PU/CCPURandomiserTranslator.cpp
  ../extensions/Particle3D/PU/CCPUScaleAffector.cpp
  ../extensions/Particle3D/PU/CCPUScaleAffectorTranslator.cpp
  ../extensions/Particle3D/PU/CCPUScaleVelocityAffector.cpp
  ../extensions/Particle3D/PU/CCPUScaleVelocityAffectorTranslator.cpp
  ../extensions/Particle3D/PU/CCPUSineForceAffector.cpp
  ../extensions/Particle3D/PU/CCPUSineForceAffectorTranslator.cpp
  ../extensions/Particle3D/PU/CCPUSphereCollider.cpp
  ../extensions/Particle3D/PU/CCPUSphereColliderTranslator.cpp
  ../extensions/Particle3D/PU/CCPUTextureAnimator.cpp
  ../extensions/Particle3D/PU/CCPUTextureAnimatorTranslator.cpp
  ../extensions/Particle3D/PU/CCPUTextureRotator.cpp
  ../extensions/Particle3D/PU/CCPUTextureRotatorTranslator.cpp
  ../extensions/Particle3D/PU/CCPUVelocityMatchingAffector.cpp
  ../extensions/Particle3D/PU/CCPUVelocityMatchingAffectorTranslator.cpp
  ../extensions/Particle3D/PU/CCPUVortexAffector.cpp
  ../extensions/Particle3D/PU/CCPUVortexAffectorTranslator.cpp
  ../extensions/Particle3D/PU/CCPUBoxEmitter.cpp
  ../extensions/Particle3D/PU/CCPUBoxEmitterTranslator.cpp
  ../extensions/Particle3D/PU/CCPUCircleEmitter.cpp
  ../extensions/Particle3D/PU/CCPUCircleEmitterTranslator.cpp
  ../extensions/Particle3D/PU/CCPUEmitter.cpp
  ../extensions/Particle3D/PU/CCPUEmitterManager.cpp
  ../extensions/Particle3D/PU/CCPUEmitterTranslator.cpp
  ../extensions/Particle3D/PU/CCPULineEmitter.cpp
  ../extensions/Particle3D/PU/CCPULineEmitterTranslator.cpp
  ../extensions/Particle3D/PU/CCPUMeshSurfaceEmitter.cpp
  ../extensions/Particle3D/PU/CCPUMeshSurfaceEmitterTranslator.cpp
  ../extensions/Particle3D/PU/CCPUPointEmitter.cpp
  ../extensions/Particle3D/PU/CCPUPointEmitterTranslator.cpp
  ../extensions/Particle3D/PU/CCPUPositionEmitter.cpp
  ../extensions/Particle3D/PU/CCPUPositionEmitterTranslator.cpp
  ../extensions/Particle3D/PU/CCPUSlaveEmitter.cpp
  ../extensions/Particle3D/PU/CCPUSlaveEmitterTranslator.cpp
  ../extensions/Particle3D/PU/CCPUSphereSurfaceEmitter.cpp
  ../extensions/Particle3D/PU/CCPUSphereSurfaceEmitterTranslator.cpp
  ../extensions/Particle3D/PU/CCPUVertexEmitter.cpp
  ../extensions/Particle3D/PU/CCPURender.cpp
  ../extensions/Particle3D/PU/CCPUBeamRender.cpp
  ../extensions/Particle3D/PU/CCPUBillboardChain.cpp
  ../extensions/Particle3D/PU/CCPURibbonTrail.cpp
  ../extensions/Particle3D/PU/CCPURibbonTrailRender.cpp
  ../extensions/Particle3D/PU/CCPUDoAffectorEventHandler.cpp
  ../extensions/Particle3D/PU/CCPUDoAffectorEventHandlerTranslator.cpp
  ../extensions/Particle3D/PU/CCPUDoEnableComponentEventHandler.cpp
  ../extensions/Particle3D/PU/CCPUDoEnableComponentEventHandlerTranslator.cpp
  ../extensions/Particle3D/PU/CCPUDoExpireEventHandler.cpp
  ../extensions/Particle3D/PU/CCPUDoExpireEventHandlerTranslator.cpp
  ../extensions/Particle3D/PU/CCPUDoFreezeEventHandler.cpp
  ../extensions/Particle3D/PU/CCPUDoFreezeEventHandlerTranslator.cpp
  ../extensions/Particle3D/PU/CCPUDoPlacementParticleEventHandler.cpp
  ../extensions/Particle3D/PU/CCPUDoPlacementParticleEventHandlerTranslator.cpp
  ../extensions/Particle3D/PU/CCPUDoScaleEventHandler.cpp
  ../extensions/Particle3D/PU/CCPUDoScaleEventHandlerTranslator.cpp
  ../extensions/Particle3D/PU/CCPUDoStopSystemEventHandler.cpp
  ../extensions/Particle3D/PU/CCPUDoStopSystemEventHandlerTranslator.cpp
  ../extensions/Particle3D/PU/CCPUEventHandler.cpp
  ../extensions/Particle3D/PU/CCPUEventHandlerManager.cpp
  ../extensions/Particle3D/PU/CCPUEventHandlerTranslator.cpp
  ../extensions/Particle3D/PU/CCPUObserver.cpp
  ../extensions/Particle3D/PU/CCPUObserverManager.cpp
  ../extensions/Particle3D/PU/CCPUObserverTranslator.cpp
  ../extensions/Particle3D/PU/CCPUOnClearObserver.cpp
  ../extensions/Particle3D/PU/CCPUOnClearObserverTranslator.cpp
  ../extensions/Particle3D/PU/CCPUOnCollisionObserver.cpp
  ../extensions/Particle3D/PU/CCPUOnCollisionObserverTranslator.cpp
  ../extensions/Particle3D/PU/CCPUOnCountObserver.cpp
  ../extensions/Particle3D/PU/CCPUOnCountObserverTranslator.cpp
  ../extensions/Particle3D/PU/CCPUOnEmissionObserver.cpp
  ../extensions/Particle3D/PU/CCPUOnEmissionObserverTranslator.cpp
  ../extensions/Particle3D/PU/CCPUOnEventFlagObserver.cpp
  ../extensions/Particle3D/PU/CCPUOnEventFlagObserverTranslator.cpp
  ../extensions/Particle3D/PU/CCPUOnExpireObserver.cpp
  ../extensions/Particle3D/PU/CCPUOnExpireObserverTranslator.cpp
  ../extensions/Particle3D/PU/CCPUOnPositionObserver.cpp
  ../extensions/Particle3D/PU/CCPUOnPositionObserverTranslator.cpp
  ../extensions/Particle3D/PU/CCPUOnQuotaObserver.cpp
  ../extensions/Particle3D/PU/CCPUOnQuotaObserverTranslator.cpp
  ../extensions/Particle3D/PU/CCPUOnRandomObserver.cpp
  ../extensions/Particle3D/PU/CCPUOnRandomObserverTranslator.cpp
  ../extensions/Particle3D/PU/CCPUOnTimeObserver.cpp
  ../extensions/Particle3D/PU/CCPUOnTimeObserverTranslator.cpp
  ../extensions/Particle3D/PU/CCPUOnVelocityObserver.cpp
  ../extensions/Particle3D/PU/CCPUOnVelocityObserverTranslator.cpp
  ../extensions/Particle3D/PU/CCPUBehaviour.cpp
  ../extensions/Particle3D/PU/CCPUBehaviourManager.cpp
  ../extensions/Particle3D/PU/CCPUBehaviourTranslator.cpp
  ../extensions/Particle3D/PU/CCPUSlaveBehaviour.cpp
  ../extensions/Particle3D/PU/CCPUSlaveBehaviourTranslator.cpp
  ${PLATFORM_EXTENSIONS_SRC}
)