From d48ea5bb797037069d641da41da0f195f0124491 Mon Sep 17 00:00:00 2001 From: dan miller Date: Fri, 19 Oct 2007 05:20:48 +0000 Subject: one more for the gipper --- libraries/ode-0.9/build/ode.lua | 166 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 166 insertions(+) create mode 100644 libraries/ode-0.9/build/ode.lua (limited to 'libraries/ode-0.9/build/ode.lua') diff --git a/libraries/ode-0.9/build/ode.lua b/libraries/ode-0.9/build/ode.lua new file mode 100644 index 0000000..568cd26 --- /dev/null +++ b/libraries/ode-0.9/build/ode.lua @@ -0,0 +1,166 @@ +package.name = "ode" +package.language = "c++" +package.objdir = "obj/ode" + + +-- Separate distribution files into toolset subdirectories + + if (options["usetargetpath"]) then + package.path = options["target"] + else + package.path = "custom" + end + + +-- Write a custom to include/ode, based on the specified flags + + io.input("config-default.h") + local text = io.read("*a") + + if (options["with-doubles"]) then + text = string.gsub(text, "#define dSINGLE", "/* #define dSINGLE */") + text = string.gsub(text, "/%* #define dDOUBLE %*/", "#define dDOUBLE") + end + + if (options["no-trimesh"]) then + + text = string.gsub(text, "#define dTRIMESH_ENABLED 1", "/* #define dTRIMESH_ENABLED 1 */") + text = string.gsub(text, "#define dTRIMESH_OPCODE 1", "/* #define dTRIMESH_OPCODE 1 */") + + elseif (options["with-gimpact"]) then + + text = string.gsub(text, "#define dTRIMESH_OPCODE 1", "#define dTRIMESH_GIMPACT 1") + + end + + if (options["no-alloca"]) then + text = string.gsub(text, "/%* #define dUSE_MALLOC_FOR_ALLOCA %*/", "#define dUSE_MALLOC_FOR_ALLOCA") + end + + io.output("../include/ode/config.h") + io.write(text) + io.close() + + +-- Package Build Settings + + if (options["enable-shared-only"]) then + + package.kind = "dll" + table.insert(package.defines, "ODE_DLL") + + elseif (options["enable-static-only"]) then + + package.kind = "lib" + table.insert(package.defines, "ODE_LIB") + + else + + package.config["DebugDLL"].kind = "dll" + package.config["DebugLib"].kind = "lib" + package.config["ReleaseDLL"].kind = "dll" + package.config["ReleaseLib"].kind = "lib" + + table.insert(package.config["DebugDLL"].defines, "ODE_DLL") + table.insert(package.config["ReleaseDLL"].defines, "ODE_DLL") + table.insert(package.config["DebugLib"].defines, "ODE_LIB") + table.insert(package.config["ReleaseLib"].defines, "ODE_LIB") + + end + + package.includepaths = + { + "../../include", + "../../OPCODE", + "../../GIMPACT/include" + } + + if (windows) then + table.insert(package.defines, "WIN32") + end + + -- disable VS2005 CRT security warnings + if (options["target"] == "vs2005") then + table.insert(package.defines, "_CRT_SECURE_NO_DEPRECATE") + end + + +-- Build Flags + + package.config["DebugLib"].buildflags = { } + package.config["DebugDLL"].buildflags = { } + + package.config["ReleaseDLL"].buildflags = { "optimize-speed", "no-symbols", "no-frame-pointer" } + package.config["ReleaseLib"].buildflags = { "optimize-speed", "no-symbols", "no-frame-pointer" } + + if (options.target == "vs6" or options.target == "vs2002" or options.target == "vs2003") then + table.insert(package.config.DebugLib.buildflags, "static-runtime") + table.insert(package.config.ReleaseLib.buildflags, "static-runtime") + end + + +-- Libraries + + if (windows) then + table.insert(package.links, "user32") + end + + +-- Files + + core_files = + { + matchfiles("../../include/ode/*.h"), + matchfiles ("../../ode/src/*.h", "../../ode/src/*.c", "../../ode/src/*.cpp") + } + + excluded_files = + { + "../../ode/src/collision_std.cpp", + "../../ode/src/scrapbook.cpp", + "../../ode/src/stack.cpp" + } + + trimesh_files = + { + "../../ode/src/collision_trimesh_internal.h", + "../../ode/src/collision_trimesh_opcode.cpp", + "../../ode/src/collision_trimesh_gimpact.cpp", + "../../ode/src/collision_trimesh_box.cpp", + "../../ode/src/collision_trimesh_ccylinder.cpp", + "../../ode/src/collision_cylinder_trimesh.cpp", + "../../ode/src/collision_trimesh_distance.cpp", + "../../ode/src/collision_trimesh_ray.cpp", + "../../ode/src/collision_trimesh_sphere.cpp", + "../../ode/src/collision_trimesh_trimesh.cpp", + "../../ode/src/collision_trimesh_plane.cpp" + } + + opcode_files = + { + matchrecursive("../../OPCODE/*.h", "../../OPCODE/*.cpp") + } + + gimpact_files = + { + matchrecursive("../../GIMPACT/*.h", "../../GIMPACT/*.cpp") + } + + dif_files = + { + "../../ode/src/export-dif.cpp" + } + + package.files = { core_files } + package.excludes = { excluded_files } + + if (options["no-dif"]) then + table.insert(package.excludes, dif_files) + end + + if (options["no-trimesh"]) then + table.insert(package.excludes, trimesh_files) + else + table.insert(package.files, gimpact_files) + table.insert(package.files, opcode_files) + end -- cgit v1.1