Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--SConstruct12
-rw-r--r--extern/SConscript2
-rw-r--r--extern/qhull/SConscript26
-rw-r--r--extern/solid/SConscript65
4 files changed, 99 insertions, 6 deletions
diff --git a/SConstruct b/SConstruct
index fd70b923e78..68892353ec0 100644
--- a/SConstruct
+++ b/SConstruct
@@ -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'])
diff --git a/extern/SConscript b/extern/SConscript
new file mode 100644
index 00000000000..180c41b5c40
--- /dev/null
+++ b/extern/SConscript
@@ -0,0 +1,2 @@
+SConscript(['qhull/SConscript',
+ 'solid/SConscript']) \ No newline at end of file
diff --git a/extern/qhull/SConscript b/extern/qhull/SConscript
new file mode 100644
index 00000000000..3af54e31e62
--- /dev/null
+++ b/extern/qhull/SConscript
@@ -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)
diff --git a/extern/solid/SConscript b/extern/solid/SConscript
new file mode 100644
index 00000000000..e23da8f59ee
--- /dev/null
+++ b/extern/solid/SConscript
@@ -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)