src/SConscript
author Radek Brich <radek.brich@devl.cz>
Thu, 24 Apr 2008 13:55:11 +0200
branchpyrit
changeset 82 930a2d3ecaed
parent 79 062b1c4143f7
child 88 f7edb3b90816
permissions -rw-r--r--
prepare structures for packet tracing (it's already slightly faster, even without any explicit parallelization) supply missing virtual destructors
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
63
440e1ae80459 add many SCons targets (see DEVNOTES)
Radek Brich <radek.brich@devl.cz>
parents: 61
diff changeset
     1
Import('env')
440e1ae80459 add many SCons targets (see DEVNOTES)
Radek Brich <radek.brich@devl.cz>
parents: 61
diff changeset
     2
env.Append(CPPPATH = '#include')
60
a23b5089b9c3 moving to SCons build system
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
     3
a23b5089b9c3 moving to SCons build system
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
     4
pyenv = env.Clone()
65
242839c6d27d basic detection of compiler (GCC or ICC) and CPU capabilities
Radek Brich <radek.brich@devl.cz>
parents: 63
diff changeset
     5
if env['PLATFORM'] == 'win32':
242839c6d27d basic detection of compiler (GCC or ICC) and CPU capabilities
Radek Brich <radek.brich@devl.cz>
parents: 63
diff changeset
     6
	import sys
242839c6d27d basic detection of compiler (GCC or ICC) and CPU capabilities
Radek Brich <radek.brich@devl.cz>
parents: 63
diff changeset
     7
	pythonver = '%c%c' % (sys.version[0], sys.version[2])
242839c6d27d basic detection of compiler (GCC or ICC) and CPU capabilities
Radek Brich <radek.brich@devl.cz>
parents: 63
diff changeset
     8
	pythonlib = 'python'+pythonver
242839c6d27d basic detection of compiler (GCC or ICC) and CPU capabilities
Radek Brich <radek.brich@devl.cz>
parents: 63
diff changeset
     9
	pythonpath = [env['pythonpath'],
242839c6d27d basic detection of compiler (GCC or ICC) and CPU capabilities
Radek Brich <radek.brich@devl.cz>
parents: 63
diff changeset
    10
		'C:\\Program Files\\Python'+pythonver]
242839c6d27d basic detection of compiler (GCC or ICC) and CPU capabilities
Radek Brich <radek.brich@devl.cz>
parents: 63
diff changeset
    11
	pyenv.Append(LIBS=pythonlib)
242839c6d27d basic detection of compiler (GCC or ICC) and CPU capabilities
Radek Brich <radek.brich@devl.cz>
parents: 63
diff changeset
    12
	pyenv.Append(CPPPATH=[s+'\\include' for s in pythonpath])
242839c6d27d basic detection of compiler (GCC or ICC) and CPU capabilities
Radek Brich <radek.brich@devl.cz>
parents: 63
diff changeset
    13
	pyenv.Append(LIBPATH=[s+'\\libs' for s in pythonpath])
242839c6d27d basic detection of compiler (GCC or ICC) and CPU capabilities
Radek Brich <radek.brich@devl.cz>
parents: 63
diff changeset
    14
	pyenv.Replace(SHLIBSUFFIX='.pyd')
242839c6d27d basic detection of compiler (GCC or ICC) and CPU capabilities
Radek Brich <radek.brich@devl.cz>
parents: 63
diff changeset
    15
else:
242839c6d27d basic detection of compiler (GCC or ICC) and CPU capabilities
Radek Brich <radek.brich@devl.cz>
parents: 63
diff changeset
    16
	pyenv.ParseConfig('python-config --includes --libs')
60
a23b5089b9c3 moving to SCons build system
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
    17
a23b5089b9c3 moving to SCons build system
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
    18
sources = [
78
9569e9f35374 move shapes to extra source file
Radek Brich <radek.brich@devl.cz>
parents: 65
diff changeset
    19
	'raytracer.cc', 'scene.cc', 'shapes.cc', 'sampler.cc',
79
062b1c4143f7 material and texture classes moved to material.(cc,h)
Radek Brich <radek.brich@devl.cz>
parents: 78
diff changeset
    20
	'container.cc', 'kdtree.cc', 'octree.cc', 'material.cc',
78
9569e9f35374 move shapes to extra source file
Radek Brich <radek.brich@devl.cz>
parents: 65
diff changeset
    21
	'serialize.cc']
60
a23b5089b9c3 moving to SCons build system
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
    22
a23b5089b9c3 moving to SCons build system
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
    23
objs = []
a23b5089b9c3 moving to SCons build system
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
    24
shared_objs = []
a23b5089b9c3 moving to SCons build system
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
    25
for src in sources:
a23b5089b9c3 moving to SCons build system
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
    26
	objs.append( env.Object(src) )
a23b5089b9c3 moving to SCons build system
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
    27
	shared_objs.append( env.SharedObject(src) )
a23b5089b9c3 moving to SCons build system
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
    28
65
242839c6d27d basic detection of compiler (GCC or ICC) and CPU capabilities
Radek Brich <radek.brich@devl.cz>
parents: 63
diff changeset
    29
pymodule = pyenv.SharedLibrary('raytracer',
60
a23b5089b9c3 moving to SCons build system
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
    30
	['raytracermodule.cc']+shared_objs,
a23b5089b9c3 moving to SCons build system
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
    31
	SHLIBPREFIX = '',
a23b5089b9c3 moving to SCons build system
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
    32
	CCFLAGS = '$CCFLAGS -Wno-write-strings')
a23b5089b9c3 moving to SCons build system
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
    33
61
7006036eb0db minor SConscript tweaking
Radek Brich <radek.brich@devl.cz>
parents: 60
diff changeset
    34
lib = env.StaticLibrary('pyrit', objs)
7006036eb0db minor SConscript tweaking
Radek Brich <radek.brich@devl.cz>
parents: 60
diff changeset
    35
63
440e1ae80459 add many SCons targets (see DEVNOTES)
Radek Brich <radek.brich@devl.cz>
parents: 61
diff changeset
    36
env.Alias('objs', objs)
440e1ae80459 add many SCons targets (see DEVNOTES)
Radek Brich <radek.brich@devl.cz>
parents: 61
diff changeset
    37
env.Alias('static-lib', lib)
440e1ae80459 add many SCons targets (see DEVNOTES)
Radek Brich <radek.brich@devl.cz>
parents: 61
diff changeset
    38
env.Alias('shared-objs', shared_objs)
440e1ae80459 add many SCons targets (see DEVNOTES)
Radek Brich <radek.brich@devl.cz>
parents: 61
diff changeset
    39
env.Alias('python-module', pymodule)
440e1ae80459 add many SCons targets (see DEVNOTES)
Radek Brich <radek.brich@devl.cz>
parents: 61
diff changeset
    40
env.Alias('libs', ['static-lib', 'python-module'])
440e1ae80459 add many SCons targets (see DEVNOTES)
Radek Brich <radek.brich@devl.cz>
parents: 61
diff changeset
    41
61
7006036eb0db minor SConscript tweaking
Radek Brich <radek.brich@devl.cz>
parents: 60
diff changeset
    42
Return('lib pymodule')