SCons: Allow unbundling bullet on Linux (only 2.87+)
This commit is contained in:
parent
af9c2f8b9c
commit
e141845bfb
|
@ -171,6 +171,7 @@ opts.Add(BoolVariable('dev', "If yes, alias for verbose=yes warnings=all", False
|
|||
opts.Add(EnumVariable('macports_clang', "Build using clang from MacPorts", 'no', ('no', '5.0', 'devel')))
|
||||
|
||||
# Thirdparty libraries
|
||||
opts.Add(BoolVariable('builtin_bullet', "Use the builtin bullet library", True))
|
||||
opts.Add(BoolVariable('builtin_enet', "Use the builtin enet library", True))
|
||||
opts.Add(BoolVariable('builtin_freetype', "Use the builtin freetype library", True))
|
||||
opts.Add(BoolVariable('builtin_libogg', "Use the builtin libogg library", True))
|
||||
|
|
|
@ -3,14 +3,15 @@
|
|||
Import('env')
|
||||
Import('env_modules')
|
||||
|
||||
# build only version 2
|
||||
# Bullet 2.87
|
||||
|
||||
env_bullet = env_modules.Clone()
|
||||
|
||||
thirdparty_dir = "#thirdparty/bullet/"
|
||||
# Thirdparty source files
|
||||
|
||||
bullet2_src = [
|
||||
if env['builtin_bullet']:
|
||||
# Build only version 2 for now (as of 2.87)
|
||||
thirdparty_dir = "#thirdparty/bullet/"
|
||||
|
||||
bullet2_src = [
|
||||
# BulletCollision
|
||||
"BulletCollision/BroadphaseCollision/btAxisSweep3.cpp"
|
||||
, "BulletCollision/BroadphaseCollision/btBroadphaseProxy.cpp"
|
||||
|
@ -181,14 +182,10 @@ bullet2_src = [
|
|||
, "LinearMath/btVector3.cpp"
|
||||
]
|
||||
|
||||
bullet_sources = [thirdparty_dir + file for file in bullet2_src]
|
||||
thirdparty_sources = [thirdparty_dir + file for file in bullet2_src]
|
||||
|
||||
# include headers
|
||||
env_bullet.Append(CPPPATH=[thirdparty_dir])
|
||||
|
||||
env_bullet.add_source_files(env.modules_sources, bullet_sources)
|
||||
env_bullet.add_source_files(env.modules_sources, thirdparty_sources)
|
||||
env_bullet.Append(CPPPATH=[thirdparty_dir])
|
||||
|
||||
# Godot source files
|
||||
env_bullet.add_source_files(env.modules_sources, "*.cpp")
|
||||
|
||||
Export('env')
|
||||
|
|
|
@ -3,10 +3,10 @@
|
|||
Import('env')
|
||||
Import('env_modules')
|
||||
|
||||
# Thirdparty source files
|
||||
|
||||
env_enet = env_modules.Clone()
|
||||
|
||||
# Thirdparty source files
|
||||
|
||||
if env['builtin_enet']:
|
||||
thirdparty_dir = "#thirdparty/enet/"
|
||||
thirdparty_sources = [
|
||||
|
|
|
@ -86,6 +86,16 @@ def configure(env):
|
|||
if not env['builtin_libpng']:
|
||||
env.ParseConfig('pkg-config libpng --cflags --libs')
|
||||
|
||||
if not env['builtin_bullet']:
|
||||
# We need at least version 2.87
|
||||
import subprocess
|
||||
bullet_version = subprocess.check_output(['pkg-config', 'bullet', '--modversion']).strip()
|
||||
if bullet_version < "2.87":
|
||||
# Abort as system bullet was requested but too old
|
||||
print("Bullet: System version {0} does not match minimal requirements ({1}). Aborting.".format(bullet_version, "2.87"))
|
||||
sys.exit(255)
|
||||
env.ParseConfig('pkg-config bullet --cflags --libs')
|
||||
|
||||
if not env['builtin_enet']:
|
||||
env.ParseConfig('pkg-config libenet --cflags --libs')
|
||||
|
||||
|
|
|
@ -172,6 +172,16 @@ def configure(env):
|
|||
if not env['builtin_libpng']:
|
||||
env.ParseConfig('pkg-config libpng --cflags --libs')
|
||||
|
||||
if not env['builtin_bullet']:
|
||||
# We need at least version 2.87
|
||||
import subprocess
|
||||
bullet_version = subprocess.check_output(['pkg-config', 'bullet', '--modversion']).strip()
|
||||
if bullet_version < "2.87":
|
||||
# Abort as system bullet was requested but too old
|
||||
print("Bullet: System version {0} does not match minimal requirements ({1}). Aborting.".format(bullet_version, "2.87"))
|
||||
sys.exit(255)
|
||||
env.ParseConfig('pkg-config bullet --cflags --libs')
|
||||
|
||||
if not env['builtin_enet']:
|
||||
env.ParseConfig('pkg-config libenet --cflags --libs')
|
||||
|
||||
|
|
Loading…
Reference in New Issue