209 lines
5.2 KiB
Lua
209 lines
5.2 KiB
Lua
--add the 0 so the solution comes first in the directory (when sorted on name)
|
|
--print "uncomment this hello premake4 world for debugging the script"
|
|
|
|
solution "0BulletSolution"
|
|
|
|
newoption {
|
|
trigger = "ios",
|
|
description = "Enable iOS target (requires xcode4)"
|
|
}
|
|
|
|
newoption {
|
|
trigger = "without-demos",
|
|
description = "Disable demos and extras"
|
|
}
|
|
|
|
newoption {
|
|
trigger = "with-double-precision",
|
|
description = "Enable double precision build"
|
|
}
|
|
|
|
|
|
newoption {
|
|
trigger = "with-nacl",
|
|
description = "Enable Native Client build"
|
|
}
|
|
|
|
newoption {
|
|
trigger = "with-dx11",
|
|
description = "Enable DirectX11 build"
|
|
}
|
|
|
|
newoption {
|
|
trigger = "with-opencl",
|
|
description = "Enable OpenCL builds (various SDKs)"
|
|
}
|
|
|
|
newoption {
|
|
trigger = "with-opencl-amd",
|
|
description = "Enable OpenCL builds (AMD SDK)"
|
|
}
|
|
|
|
newoption {
|
|
trigger = "with-opencl-intel",
|
|
description = "Enable OpenCL builds (Intel SDK)"
|
|
}
|
|
newoption {
|
|
trigger = "with-opencl-nvidia",
|
|
description = "Enable OpenCL builds (NVIDIA SDK)"
|
|
}
|
|
|
|
|
|
configurations {"Release", "Debug"}
|
|
configuration "Release"
|
|
flags { "Optimize", "EnableSSE", "StaticRuntime", "NoMinimalRebuild", "FloatFast"}
|
|
configuration "Debug"
|
|
flags { "Symbols", "StaticRuntime" , "NoMinimalRebuild", "NoEditAndContinue" ,"FloatFast"}
|
|
|
|
if os.is("Linux") then
|
|
if os.is64bit() then
|
|
platforms {"x64"}
|
|
else
|
|
platforms {"x32"}
|
|
end
|
|
else
|
|
platforms {"x32", "x64"}
|
|
end
|
|
|
|
--platforms {"x32"}
|
|
|
|
configuration {"Windows"}
|
|
defines { "_CRT_SECURE_NO_WARNINGS","_CRT_SECURE_NO_DEPRECATE"}
|
|
|
|
configuration{}
|
|
|
|
postfix="";
|
|
|
|
if _OPTIONS["with-double-precision"] then
|
|
defines {"BT_USE_DOUBLE_PRECISION"}
|
|
end
|
|
|
|
if _ACTION == "xcode4" then
|
|
if _OPTIONS["ios"] then
|
|
postfix = "ios";
|
|
xcodebuildsettings
|
|
{
|
|
'INFOPLIST_FILE = "../../Test/Info.plist"',
|
|
'CODE_SIGN_IDENTITY = "iPhone Developer"',
|
|
"SDKROOT = iphoneos",
|
|
'ARCHS = "armv7"',
|
|
'TARGETED_DEVICE_FAMILY = "1,2"',
|
|
'VALID_ARCHS = "armv7"',
|
|
}
|
|
else
|
|
xcodebuildsettings
|
|
{
|
|
'ARCHS = "$(ARCHS_STANDARD_32_BIT) $(ARCHS_STANDARD_64_BIT)"',
|
|
'CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"',
|
|
'VALID_ARCHS = "x86_64 i386"',
|
|
}
|
|
end
|
|
else
|
|
|
|
end
|
|
|
|
act = ""
|
|
|
|
if _ACTION then
|
|
act = _ACTION
|
|
end
|
|
configuration {"x32"}
|
|
targetsuffix ("_" .. act)
|
|
configuration "x64"
|
|
targetsuffix ("_" .. act .. "_64" )
|
|
configuration {"x64", "debug"}
|
|
targetsuffix ("_" .. act .. "_x64_debug")
|
|
configuration {"x64", "release"}
|
|
targetsuffix ("_" .. act .. "_x64_release" )
|
|
configuration {"x32", "debug"}
|
|
targetsuffix ("_" .. act .. "_debug" )
|
|
|
|
configuration{}
|
|
|
|
|
|
|
|
if not _OPTIONS["with-nacl"] then
|
|
|
|
flags { "NoRTTI"}
|
|
targetdir "../bin"
|
|
|
|
-- Disable exception handling on MSVC 2008 and higher. MSVC 2005 without service pack has some linker issue (ConvexDecompositionDemo uses STL through HACD library)
|
|
if _ACTION == "vs2010" or _ACTION=="vs2008" then
|
|
flags { "NoExceptions"}
|
|
defines { "_HAS_EXCEPTIONS=0" }
|
|
end
|
|
|
|
-- Multithreaded compiling
|
|
if _ACTION == "vs2010" then
|
|
buildoptions { "/MP" }
|
|
end
|
|
|
|
|
|
else
|
|
targetdir "../bin_html"
|
|
end
|
|
|
|
|
|
dofile ("findOpenCL.lua")
|
|
dofile ("findDirectX11.lua")
|
|
|
|
language "C++"
|
|
|
|
location("./" .. act .. postfix)
|
|
|
|
|
|
if _OPTIONS["with-dx11"] then
|
|
include "../Demos/DX11ClothDemo"
|
|
include "../src/BulletMultiThreaded/GpuSoftBodySolvers/DX11"
|
|
end
|
|
|
|
--choose any OpenCL sdk that is installed on the system
|
|
if _OPTIONS["with-opencl"] then
|
|
include "../Demos/OpenCLClothDemo/AMD"
|
|
include "../src/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/AMD"
|
|
include "../Demos/OpenCLClothDemo/NVidia"
|
|
include "../src/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/NVidia"
|
|
include "../Demos/OpenCLClothDemo/Intel"
|
|
include "../src/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/Intel"
|
|
end
|
|
|
|
--choose a particular OpenCL sdk, this is useful for distributing project files that just work for one OpenCL SDK
|
|
if _OPTIONS["with-opencl-amd"] then
|
|
include "../Demos/OpenCLClothDemo/AMD"
|
|
include "../Demos/OpenGL"
|
|
include "../Demos/SoftDemo/AMD"
|
|
include "../src/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/AMD"
|
|
end
|
|
|
|
if _OPTIONS["with-opencl-intel"] then
|
|
include "../Demos/OpenCLClothDemo/Intel"
|
|
include "../src/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/Intel"
|
|
end
|
|
|
|
if _OPTIONS["with-opencl-nvidia"] then
|
|
include "../Demos/OpenCLClothDemo/NVidia"
|
|
include "../src/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/NVidia"
|
|
end
|
|
|
|
if not _OPTIONS["without-demos"] then
|
|
if not _OPTIONS["ios"] then
|
|
include "../Demos"
|
|
end
|
|
include "../Extras"
|
|
end
|
|
|
|
|
|
if _OPTIONS["with-nacl"] then
|
|
include "../Demos/NativeClient"
|
|
else
|
|
include "../src/LinearMath"
|
|
include "../src/BulletCollision"
|
|
include "../src/BulletDynamics"
|
|
include "../src/BulletSoftBody"
|
|
end
|
|
|
|
include "../Test"
|
|
include "../Demos/HelloWorld"
|
|
include "../Demos/Benchmarks"
|
|
|