forked from bartvdbraak/blender
- [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:
parent
a2dc5f8f8e
commit
3081f4a635
12
SConstruct
12
SConstruct
@ -260,7 +260,7 @@ elif sys.platform == 'win32':
|
|||||||
defines += ['WITH_QUICKTIME']
|
defines += ['WITH_QUICKTIME']
|
||||||
defines += ['_LIB', 'USE_OPENAL']
|
defines += ['_LIB', 'USE_OPENAL']
|
||||||
warn_flags = []
|
warn_flags = []
|
||||||
platform_libs = [ 'qtmlClient', 'odelib', 'soundsystem',
|
platform_libs = [ 'qtmlClient', 'soundsystem',
|
||||||
'ws2_32', 'dxguid', 'vfw32', 'winmm',
|
'ws2_32', 'dxguid', 'vfw32', 'winmm',
|
||||||
'iconv', 'kernel32', 'user32', 'gdi32',
|
'iconv', 'kernel32', 'user32', 'gdi32',
|
||||||
'winspool', 'comdlg32', 'advapi32', 'shell32',
|
'winspool', 'comdlg32', 'advapi32', 'shell32',
|
||||||
@ -310,7 +310,7 @@ elif sys.platform == 'win32':
|
|||||||
link_env.RES(['source/icons/winblender.rc'])
|
link_env.RES(['source/icons/winblender.rc'])
|
||||||
window_system = 'WIN32'
|
window_system = 'WIN32'
|
||||||
# SOLID library information
|
# SOLID library information
|
||||||
solid_lib = ['solid']
|
solid_lib = ['extern/solid']
|
||||||
solid_libpath = ['#../lib/windows/solid/lib']
|
solid_libpath = ['#../lib/windows/solid/lib']
|
||||||
solid_include = ['#../lib/windows/solid/include']
|
solid_include = ['#../lib/windows/solid/include']
|
||||||
qhull_lib = ['qhull']
|
qhull_lib = ['qhull']
|
||||||
@ -821,6 +821,8 @@ Export ('platform_linkflags')
|
|||||||
Export ('user_options_dict')
|
Export ('user_options_dict')
|
||||||
Export ('library_env')
|
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)
|
BuildDir (root_build_dir+'/intern', 'intern', duplicate=0)
|
||||||
SConscript (root_build_dir+'intern/SConscript')
|
SConscript (root_build_dir+'intern/SConscript')
|
||||||
BuildDir (root_build_dir+'/source', 'source', duplicate=0)
|
BuildDir (root_build_dir+'/source', 'source', duplicate=0)
|
||||||
@ -900,10 +902,8 @@ if user_options_dict['BUILD_GAMEENGINE'] == 1:
|
|||||||
'NG_loopbacknetwork'])
|
'NG_loopbacknetwork'])
|
||||||
if user_options_dict['USE_PHYSICS'] == 'solid':
|
if user_options_dict['USE_PHYSICS'] == 'solid':
|
||||||
link_env.Append (LIBS=['PHY_Sumo'])
|
link_env.Append (LIBS=['PHY_Sumo'])
|
||||||
link_env.Append (LIBS=user_options_dict['SOLID_LIBRARY'])
|
link_env.Append (LIBS=['extern_qhull',
|
||||||
link_env.Append (LIBPATH=user_options_dict['SOLID_LIBPATH'])
|
'extern_solid'])
|
||||||
link_env.Append (LIBS=user_options_dict['QHULL_LIBRARY'])
|
|
||||||
link_env.Append (LIBPATH=user_options_dict['QHULL_LIBPATH'])
|
|
||||||
else:
|
else:
|
||||||
link_env.Append (LIBS=['PHY_Ode',
|
link_env.Append (LIBS=['PHY_Ode',
|
||||||
'PHY_Physics'])
|
'PHY_Physics'])
|
||||||
|
2
extern/SConscript
vendored
Normal file
2
extern/SConscript
vendored
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
SConscript(['qhull/SConscript',
|
||||||
|
'solid/SConscript'])
|
26
extern/qhull/SConscript
vendored
Normal file
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
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)
|
Loading…
Reference in New Issue
Block a user