bullet3/Demos3/premake4.lua
2013-06-19 15:03:29 -07:00

140 lines
3.5 KiB
Lua

function createDemos( demos, incdirs, linknames)
for _, name in ipairs(demos) do
project ( "App_" .. name )
kind "ConsoleApp"
targetdir ".."
includedirs {incdirs}
configuration { "Windows" }
defines { "GLEW_STATIC"}
links { "opengl32" }
includedirs{ "../Glut" }
libdirs {"../Glut"}
files { "../build/bullet.rc" }
configuration {"Windows", "x32"}
links {"glew32s","glut32"}
configuration {"Windows", "x64"}
links {"glew64s", "glut64"}
configuration {"MacOSX"}
--print "hello"
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
function createGpuDemos( demos, incdirs, linknames, vendor)
hasCL = findOpenCL(vendor)
if (hasCL) then
for _, name in ipairs(demos) do
project ( "App_" .. name .. "_" .. vendor)
initOpenCL(vendor)
kind "ConsoleApp"
targetdir "../bin"
links {"Bullet3OpenCL_" .. vendor }
includedirs {incdirs}
configuration { "Windows" }
defines { "GLEW_STATIC"}
links { "opengl32" }
includedirs{ "../Glut" }
libdirs {"../Glut"}
files { "../build/bullet.rc" }
configuration {"Windows", "x32"}
links {"glew32s","glut32"}
configuration {"Windows", "x64"}
links {"glew64s", "glut64"}
configuration {"MacOSX"}
--print "hello"
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
end
-- "CharacterDemo", fixme: it includes BspDemo files
local localdemos = {
"BasicDemo",
}
local localgpudemos = {
"BasicGpuDemo",
}
-- the following demos require custom include or link settings
-- createDemos({"HelloWorld"},{"../src"},{"BulletDynamics","BulletCollision","LinearMath"})
createDemos(localdemos,{"../src","../Demos/OpenGL"},{"OpenGLSupport","BulletDynamics", "BulletCollision", "LinearMath"})
createGpuDemos(localgpudemos,{"../src","../Demos/OpenGL"},{"OpenGLSupport",
"Bullet3Dynamics","Bullet3Collision","Bullet3Geometry","Bullet3Common",
"BulletDynamics", "BulletCollision", "LinearMath"},
"NVIDIA")
createGpuDemos(localgpudemos,{"../src","../Demos/OpenGL"},{"OpenGLSupport",
"Bullet3Dynamics","Bullet3Collision","Bullet3Geometry","Bullet3Common",
"BulletDynamics", "BulletCollision", "LinearMath"},
"clew")
createGpuDemos(localgpudemos,{"../src","../Demos/OpenGL"},{"OpenGLSupport",
"Bullet3Dynamics","Bullet3Collision","Bullet3Geometry","Bullet3Common",
"BulletDynamics", "BulletCollision", "LinearMath"},
"AMD")
createGpuDemos(localgpudemos,{"../src","../Demos/OpenGL"},{"OpenGLSupport",
"Bullet3Dynamics","Bullet3Collision","Bullet3Geometry","Bullet3Common",
"BulletDynamics", "BulletCollision", "LinearMath"},
"Intel")
createGpuDemos(localgpudemos,{"../src","../Demos/OpenGL"},{"OpenGLSupport",
"Bullet3Dynamics","Bullet3Collision","Bullet3Geometry","Bullet3Common",
"BulletDynamics", "BulletCollision", "LinearMath"},
"Apple")
include "../Demos/OpenGL"