SubDir TOP Demos ;

SubInclude TOP Demos OpenGL ;

if $(GLUT.AVAILABLE) = "yes"
{
  # All demo apps have a lot in common, so use this rule to simply things
  rule BulletDemo
  {
    Application $(<) : $(>) : noinstall console nomanifest ;
    LinkWith $(<) :  bulletopenglsupport  bulletdynamics bulletcollision bulletmath ;
    CFlags $(<) : 
	  [ FIncludes $(TOP)/Demos/OpenGL ] 
	  [ FIncludes $(TOP)/Extras/ConvexHull ]
    ;
    MsvcIncDirs $(<) : 
	"../../Demos/OpenGL" 
	"../../Extras/ConvexHull"
	"../../src" ;
  }
}

rule BulletSoftBodyDemo
{
 Application $(<) : $(>) : noinstall console nomanifest ;
    LinkWith $(<) :  bulletopenglsupport bulletsoftbody bulletdynamics bulletcollision  bulletmath ;
    CFlags $(<) :
          [ FIncludes $(TOP)/src ]
	[ FIncludes $(TOP)/Demos/OpenGL ]
           ;
    MsvcIncDirs $(<) :
	 "../../Demos/OpenGL"
        "../../src" ;
}

 rule BulletBasicDemo
  {
    Application $(<) : $(>) : noinstall console nomanifest ;
    LinkWith $(<) :  bulletdynamics bulletcollision  bulletmath ;
    CFlags $(<) :
          [ FIncludes $(TOP)/src ]
           ;
    MsvcIncDirs $(<) :
        "../../src" ;
  }

if $(GLUT.AVAILABLE) = "yes"
{
  # All demo apps have a lot in common, so use this rule to simply things
  rule FrameWorkDemo
  {
    Application $(<) : $(>) : noinstall console nomanifest ;
    LinkWith $(<) :  GIMPACTUtils   bulletopenglsupport bulletsoftbody  convexdecomposition   bulletdynamics bulletcollision bulletmath glui ;
    CFlags $(<) :
          [ FIncludes $(TOP)/Extras ]
         [ FIncludes $(TOP)/Demos/OpenGL ]
	[ FIncludes $(TOP)/Extras/ConvexDecomposition ]
	[ FIncludes $(TOP)/Extras/ConvexHull ]
          [ FIncludes $(TOP)/Extras/GIMPACTUtils ]
    ;
    MsvcIncDirs $(<) :
        "../../Extras"
        "../../src"
	"../../Extras/ConvexHull"
        "../../Demos/OpenGL"
	"../../Extras/ConvexDecomposition"
        "../../Extras/GIMPACTUtils"
;

  }
}

SubInclude TOP Demos AllBulletDemos ;
SubInclude TOP Demos CcdPhysicsDemo ;
SubInclude TOP Demos Benchmarks ;
SubInclude TOP Demos UserCollisionAlgorithm ;
SubInclude TOP Demos MultiThreadedDemo ;
SubInclude TOP Demos ForkLiftDemo ;
SubInclude TOP Demos BulletDinoDemo ;
SubInclude TOP Demos EPAPenDepthDemo ;
SubInclude TOP Demos HelloWorld ;
SubInclude TOP Demos BspDemo ;
SubInclude TOP Demos BasicDemo ;
SubInclude TOP Demos ConvexDecompositionDemo ;
SubInclude TOP Demos ColladaDemo ;
SubInclude TOP Demos CharacterDemo ;
SubInclude TOP Demos VehicleDemo ;
SubInclude TOP Demos CollisionDemo ;
SubInclude TOP Demos CollisionInterfaceDemo ;
SubInclude TOP Demos GimpactTestDemo ;
SubInclude TOP Demos MovingConcaveDemo ;
SubInclude TOP Demos ConcaveDemo ;
SubInclude TOP Demos MultiMaterialDemo ;
SubInclude TOP Demos ConstraintDemo ;
SubInclude TOP Demos SliderConstraintDemo ;
SubInclude TOP Demos RagdollDemo ;
SubInclude TOP Demos GenericJointDemo ;
SubInclude TOP Demos SoftDemo ;
SubInclude TOP Demos ContinuousConvexCollision ;
SubInclude TOP Demos GjkConvexCastDemo ;
SubInclude TOP Demos Raytracer ;
SubInclude TOP Demos SimplexDemo ;
SubInclude TOP Demos DoublePrecisionDemo ;
SubInclude TOP Demos TerrainDemo ;
SubInclude TOP Demos HeightFieldFluidDemo ;

