54 |
vars.AddVariables( |
vars.AddVariables( |
55 |
PathVariable('options_file', 'Path to options file', options_file, PathVariable.PathIsFile), |
PathVariable('options_file', 'Path to options file', options_file, PathVariable.PathIsFile), |
56 |
PathVariable('prefix', 'Installation prefix', Dir('#.').abspath, PathVariable.PathIsDirCreate), |
PathVariable('prefix', 'Installation prefix', Dir('#.').abspath, PathVariable.PathIsDirCreate), |
57 |
|
PathVariable('build_dir', 'Top-level build directory', Dir('#/build').abspath, PathVariable.PathIsDirCreate), |
58 |
BoolVariable('verbose', 'Output full compile/link lines', False), |
BoolVariable('verbose', 'Output full compile/link lines', False), |
59 |
# Compiler/Linker options |
# Compiler/Linker options |
60 |
('cc', 'Path to C compiler', 'default'), |
('cc', 'Path to C compiler', 'default'), |
158 |
|
|
159 |
#################### Make sure install directories exist ##################### |
#################### Make sure install directories exist ##################### |
160 |
|
|
161 |
|
env['BUILD_DIR']=env['build_dir'] |
162 |
prefix=Dir(env['prefix']).abspath |
prefix=Dir(env['prefix']).abspath |
163 |
env['incinstall'] = os.path.join(prefix, 'include') |
env['incinstall'] = os.path.join(prefix, 'include') |
164 |
env['bininstall'] = os.path.join(prefix, 'bin') |
env['bininstall'] = os.path.join(prefix, 'bin') |
638 |
] |
] |
639 |
) |
) |
640 |
|
|
641 |
env.SConscript(dirs = ['tools/CppUnitTest/src'], variant_dir='build/$PLATFORM/tools/CppUnitTest', duplicate=0) |
env.SConscript(dirs = ['tools/CppUnitTest/src'], variant_dir='$BUILD_DIR/$PLATFORM/tools/CppUnitTest', duplicate=0) |
642 |
env.SConscript(dirs = ['tools/escriptconvert'], variant_dir='build/$PLATFORM/tools/escriptconvert', duplicate=0) |
env.SConscript(dirs = ['tools/escriptconvert'], variant_dir='$BUILD_DIR/$PLATFORM/tools/escriptconvert', duplicate=0) |
643 |
env.SConscript(dirs = ['paso/src'], variant_dir='build/$PLATFORM/paso', duplicate=0) |
env.SConscript(dirs = ['paso/src'], variant_dir='$BUILD_DIR/$PLATFORM/paso', duplicate=0) |
644 |
env.SConscript(dirs = ['weipa/src'], variant_dir='build/$PLATFORM/weipa', duplicate=0) |
env.SConscript(dirs = ['weipa/src'], variant_dir='$BUILD_DIR/$PLATFORM/weipa', duplicate=0) |
645 |
env.SConscript(dirs = ['escript/src'], variant_dir='build/$PLATFORM/escript', duplicate=0) |
env.SConscript(dirs = ['escript/src'], variant_dir='$BUILD_DIR/$PLATFORM/escript', duplicate=0) |
646 |
env.SConscript(dirs = ['esysUtils/src'], variant_dir='build/$PLATFORM/esysUtils', duplicate=0) |
env.SConscript(dirs = ['esysUtils/src'], variant_dir='$BUILD_DIR/$PLATFORM/esysUtils', duplicate=0) |
647 |
env.SConscript(dirs = ['dudley/src'], variant_dir='build/$PLATFORM/dudley', duplicate=0) |
env.SConscript(dirs = ['dudley/src'], variant_dir='$BUILD_DIR/$PLATFORM/dudley', duplicate=0) |
648 |
env.SConscript(dirs = ['finley/src'], variant_dir='build/$PLATFORM/finley', duplicate=0) |
env.SConscript(dirs = ['finley/src'], variant_dir='$BUILD_DIR/$PLATFORM/finley', duplicate=0) |
649 |
env.SConscript(dirs = ['modellib/py_src'], variant_dir='build/$PLATFORM/modellib', duplicate=0) |
env.SConscript(dirs = ['modellib/py_src'], variant_dir='$BUILD_DIR/$PLATFORM/modellib', duplicate=0) |
650 |
env.SConscript(dirs = ['doc'], variant_dir='build/$PLATFORM/doc', duplicate=0) |
env.SConscript(dirs = ['doc'], variant_dir='$BUILD_DIR/$PLATFORM/doc', duplicate=0) |
651 |
env.SConscript(dirs = ['pyvisi/py_src'], variant_dir='build/$PLATFORM/pyvisi', duplicate=0) |
env.SConscript(dirs = ['pyvisi/py_src'], variant_dir='$BUILD_DIR/$PLATFORM/pyvisi', duplicate=0) |
652 |
env.SConscript(dirs = ['pycad/py_src'], variant_dir='build/$PLATFORM/pycad', duplicate=0) |
env.SConscript(dirs = ['pycad/py_src'], variant_dir='$BUILD_DIR/$PLATFORM/pycad', duplicate=0) |
653 |
env.SConscript(dirs = ['pythonMPI/src'], variant_dir='build/$PLATFORM/pythonMPI', duplicate=0) |
env.SConscript(dirs = ['pythonMPI/src'], variant_dir='$BUILD_DIR/$PLATFORM/pythonMPI', duplicate=0) |
654 |
env.SConscript(dirs = ['paso/profiling'], variant_dir='build/$PLATFORM/paso/profiling', duplicate=0) |
env.SConscript(dirs = ['paso/profiling'], variant_dir='$BUILD_DIR/$PLATFORM/paso/profiling', duplicate=0) |
655 |
|
|
656 |
######################## Populate the buildvars file ######################### |
######################## Populate the buildvars file ######################### |
657 |
|
|
763 |
env.Alias('run_tests', ['install_all', 'install_cppunittest_lib']) |
env.Alias('run_tests', ['install_all', 'install_cppunittest_lib']) |
764 |
env.Alias('all_tests', ['install_all', 'install_cppunittest_lib', 'run_tests', 'py_tests']) |
env.Alias('all_tests', ['install_all', 'install_cppunittest_lib', 'run_tests', 'py_tests']) |
765 |
env.Alias('build_full',['install_all','build_tests','build_py_tests']) |
env.Alias('build_full',['install_all','build_tests','build_py_tests']) |
766 |
env.Alias('build_PasoTests','build/$PLATFORM/paso/profiling/PasoTests') |
env.Alias('build_PasoTests','$BUILD_DIR/$PLATFORM/paso/profiling/PasoTests') |
767 |
|
|
768 |
##################### Targets to build the documentation ##################### |
##################### Targets to build the documentation ##################### |
769 |
|
|
774 |
if not IS_WINDOWS: |
if not IS_WINDOWS: |
775 |
try: |
try: |
776 |
utest=open('utest.sh','w') |
utest=open('utest.sh','w') |
777 |
utest.write(GroupTest.makeHeader(env['PLATFORM'])) |
utest.write(GroupTest.makeHeader(env['BUILD_DIR'], env['PLATFORM'])) |
778 |
for tests in TestGroups: |
for tests in TestGroups: |
779 |
utest.write(tests.makeString()) |
utest.write(tests.makeString()) |
780 |
utest.close() |
utest.close() |