add preliminary premake4 support (next to cmake) mainly to auto-generate Visual Studio projectfiles that can be redistributed (with no dependency on cmake, premake)

This commit is contained in:
erwin.coumans
2011-09-02 22:24:08 +00:00
parent ed02816e68
commit 82234e6f33
23 changed files with 452 additions and 10 deletions

88
Demos/premake4.lua Normal file
View File

@@ -0,0 +1,88 @@
function createDemos( demos, incdirs, linknames)
for _, name in ipairs(demos) do
project ( "App_" .. name )
kind "ConsoleApp"
targetdir ".."
includedirs {incdirs}
configuration { "Windows" }
links { "glut32","glew32","opengl32" }
includedirs{ "../Glut" }
libdirs {"../Glut"}
files { "../msvc/bullet.rc" }
configuration {"MaxOSX"}
linkoptions { "-framework Carbon -framework OpenGL -framework AGL -framework Glut" }
configuration {"not Windows", "not MacOSX"}
links {"GL","GLU","glut"}
configuration{}
links {
linknames
}
files {
"./" .. name .. "/*.cpp" ,
"./" .. name .. "/*.h"
}
end
end
-- "CharacterDemo", fixme: it includes BspDemo files
local localdemos = {
"BasicDemo",
"Box2dDemo",
"BspDemo",
"CcdPhysicsDemo",
"CollisionDemo",
"CollisionInterfaceDemo",
"ConcaveConvexcastDemo",
"ConcaveDemo",
"ConcaveRaycastDemo",
"ConstraintDemo",
"ContinuousConvexCollision",
"ConvexHullDistance",
"DynamicControlDemo",
"EPAPenDepthDemo",
"ForkLiftDemo",
"FractureDemo",
"GenericJointDemo",
"GimpactTestDemo",
"GjkConvexCastDemo",
"HelloWorld",
"InternalEdgeDemo",
"MovingConcaveDemo",
"MultiMaterialDemo",
"RagdollDemo",
"Raytracer",
"SimplexDemo",
"SliderConstraintDemo",
"TerrainDemo",
"UserCollisionAlgorithm",
"VehicleDemo"
}
-- the following demos require custom include or link settings
createDemos(localdemos,{"../src","OpenGL"},{"OpenGLSupport","LinearMath","BulletCollision","BulletDynamics"})
createDemos({"ConvexDecompositionDemo"},{"../Extras/HACD","../src","OpenGL"},{"OpenGLSupport","LinearMath","BulletCollision","BulletDynamics", "HACD"})
createDemos({"SoftDemo"},{"../src","OpenGL"}, {"OpenGLSupport","LinearMath","BulletCollision","BulletDynamics", "BulletSoftBody"})
createDemos({"SerializeDemo"},{"../Extras/Serialize/BulletFileLoader","../Extras/Serialize/BulletWorldImporter","../src","OpenGL"},{"OpenGLSupport","LinearMath","BulletCollision","BulletDynamics", "BulletSoftBody", "BulletFileLoader","BulletWorldImporter"})
include "OpenGL"