- [SCONS] Added building of qhull and Solid from extern when selecting the Solid gameengine. The gameengine has not been updated with the Tuhopuu2 one, so it is not wise to do that yet. This is in preparation for that and won't effect the current build process.

This commit is contained in:
Nathan Letwory 2004-03-09 21:14:03 +00:00
parent a2dc5f8f8e
commit 3081f4a635
4 changed files with 99 additions and 6 deletions

@ -260,7 +260,7 @@ elif sys.platform == 'win32':
defines += ['WITH_QUICKTIME']
defines += ['_LIB', 'USE_OPENAL']
warn_flags = []
platform_libs = [ 'qtmlClient', 'odelib', 'soundsystem',
platform_libs = [ 'qtmlClient', 'soundsystem',
'ws2_32', 'dxguid', 'vfw32', 'winmm',
'iconv', 'kernel32', 'user32', 'gdi32',
'winspool', 'comdlg32', 'advapi32', 'shell32',
@ -310,7 +310,7 @@ elif sys.platform == 'win32':
link_env.RES(['source/icons/winblender.rc'])
window_system = 'WIN32'
# SOLID library information
solid_lib = ['solid']
solid_lib = ['extern/solid']
solid_libpath = ['#../lib/windows/solid/lib']
solid_include = ['#../lib/windows/solid/include']
qhull_lib = ['qhull']
@ -821,6 +821,8 @@ Export ('platform_linkflags')
Export ('user_options_dict')
Export ('library_env')
BuildDir (root_build_dir+'/extern', 'extern', duplicate=0)
SConscript (root_build_dir+'extern/SConscript')
BuildDir (root_build_dir+'/intern', 'intern', duplicate=0)
SConscript (root_build_dir+'intern/SConscript')
BuildDir (root_build_dir+'/source', 'source', duplicate=0)
@ -900,10 +902,8 @@ if user_options_dict['BUILD_GAMEENGINE'] == 1:
'NG_loopbacknetwork'])
if user_options_dict['USE_PHYSICS'] == 'solid':
link_env.Append (LIBS=['PHY_Sumo'])
link_env.Append (LIBS=user_options_dict['SOLID_LIBRARY'])
link_env.Append (LIBPATH=user_options_dict['SOLID_LIBPATH'])
link_env.Append (LIBS=user_options_dict['QHULL_LIBRARY'])
link_env.Append (LIBPATH=user_options_dict['QHULL_LIBPATH'])
link_env.Append (LIBS=['extern_qhull',
'extern_solid'])
else:
link_env.Append (LIBS=['PHY_Ode',
'PHY_Physics'])

2
extern/SConscript vendored Normal file

@ -0,0 +1,2 @@
SConscript(['qhull/SConscript',
'solid/SConscript'])

26
extern/qhull/SConscript vendored Normal file

@ -0,0 +1,26 @@
qhull_env = Environment()
# Import the C flags set in the SConstruct file
Import ('cflags')
Import ('defines')
Import ('user_options_dict')
qhull_env.Append (CCFLAGS = cflags)
qhull_env.Append (CPPDEFINES = defines)
source_files = ['src/geom.c',
'src/geom2.c',
'src/global.c',
'src/io.c',
'src/mem.c',
'src/merge.c',
'src/poly.c',
'src/poly2.c',
'src/qhull.c',
'src/qset.c',
'src/stat.c',
'src/user.c']
qhull_env.Append (CPPPATH = ['include',
'src'])
qhull_env.Library (target='#'+user_options_dict['BUILD_DIR']+'/lib/extern_qhull', source=source_files)

65
extern/solid/SConscript vendored Normal file

@ -0,0 +1,65 @@
import sys
solid_env = Environment()
# Import the C flags set in the SConstruct file
#Import ('cflags')
#Import ('cxxflags')
#Import ('defines')
Import ('user_options_dict')
defines = ['USE_DOUBLES','QHULL', '_LIB']
cflags = []
cxxflags = []
if sys.platform=='win32':
defines += ['WIN32','NDEBUG', '_WINDOWS', '_LIB']
cflags += ['/MT', '/W3', '/GX', '/O2']
else:
print "################################################"
print
print "Check if solid builds on your platform correctly"
print "Add your platform specific defines"
print "and cflags / cxxflags to the"
print "extern/solid/SConscript file"
solid_env.Append (CCFLAGS = cflags)
solid_env.Append (CPPFLAGS = cxxflags)
solid_env.Append (CPPDEFINES = defines)
solid_sources = ['src/DT_C-api.cpp',
'src/DT_Encounter.cpp',
'src/DT_Object.cpp',
'src/DT_RespTable.cpp',
'src/DT_Scene.cpp']
convex_sources = ['src/convex/DT_Accuracy.cpp',
'src/convex/DT_Box.cpp',
'src/convex/DT_Cone.cpp',
'src/convex/DT_Convex.cpp',
'src/convex/DT_Cylinder.cpp',
'src/convex/DT_Facet.cpp',
'src/convex/DT_LineSegment.cpp',
'src/convex/DT_PenDepth.cpp',
'src/convex/DT_Point.cpp',
'src/convex/DT_Polyhedron.cpp',
'src/convex/DT_Polytope.cpp',
'src/convex/DT_Sphere.cpp',
'src/convex/DT_Triangle.cpp']
complex_sources = ['src/complex/DT_BBoxTree.cpp',
'src/complex/DT_Complex.cpp']
broad_sources = ['src/broad/BP_C-api.cpp',
'src/broad/BP_EndpointList.cpp',
'src/broad/BP_Proxy.cpp',
'src/broad/BP_Scene.cpp']
solid_env.Append (CPPPATH = ['include',
'src',
'src/broad',
'src/complex',
'src/convex',
'../qhull/include'])
source_files = solid_sources + convex_sources + complex_sources + broad_sources
solid_env.Library (target='#'+user_options_dict['BUILD_DIR']+'/lib/extern_solid', source=source_files)