1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
|
-- Here are the lists of demos to build. Add/remove new
-- demos here and everything else should just work
local demos =
{
"boxstack",
"buggy",
"chain1",
"chain2",
"collision",
"crash",
"feedback",
"friction",
"heightfield",
"hinge",
"I",
"jointsPR",
"joints",
"motor",
"ode",
"plane2d",
"slider",
"space",
"space_stress",
"step"
}
if (not options["no-trimesh"]) then
table.insert(demos, "basket")
if (not options["no-cylinder"]) then
table.insert(demos, "cyl")
end
table.insert(demos, "moving_trimesh")
table.insert(demos, "trimesh")
end
if (not options["no-cylinder"]) then
table.insert(demos, "cylvssphere")
end
-- Separate distribution files into toolset subdirectories
if (options["usetargetpath"]) then
packagepath = options["target"]
else
packagepath = "custom"
end
-- Factory function for demo packages
function makedemo(index, name)
package = newpackage()
package.name = "demo_" .. name
package.kind = "exe"
package.language = "c++"
package.path = packagepath
package.objdir = "obj/"..name
package.includepaths = { "../../include" }
package.defines = { "_CRT_SECURE_NO_DEPRECATE" }
if (options.target == "vs6" or options.target == "vs2002" or options.target == "vs2003") then
package.config.DebugLib.buildflags = { "static-runtime" }
package.config.ReleaseLib.buildflags = { "static-runtime" }
end
package.links = { "ode", "drawstuff" }
if (windows) then
table.insert(package.links, { "user32", "winmm", "gdi32", "opengl32", "glu32" })
else
table.insert(package.links, { "GL", "GLU" })
end
if (name == "chain1") then
package.files = { "../../ode/demo/demo_" .. name .. ".c" }
else
package.files = { "../../ode/demo/demo_" .. name .. ".cpp" }
end
if (windows) then
table.insert(package.defines, "WIN32")
table.insert(package.files, "../../drawstuff/src/resources.rc")
end
end
table.foreach(demos, makedemo)
|