from buildutils import * Import('env', 'buildTargets', 'installTargets') localenv = env.Clone() programs = [('cti2ctml', ['src/cti2ctml.cpp'], ['ctbase']), ('ck2cti', ['src/ck2cti.cpp'], ['converters','ctbase','tpx','ctcxx']), ('fixtext', ['src/fixtext.cpp'] , []), ('csvdiff', mglob(localenv, 'testtools', 'cpp'), [])] for name, src, libs in programs: prog = localenv.Program(target=pjoin('..', 'bin', name), source=src, LIBS=libs) inst = localenv.Install('$ct_bindir', prog) buildTargets.extend(prog) installTargets.extend(inst) # Copy application templates installTargets.extend( localenv.Install(pjoin('$ct_templdir','cxx'), mglob(localenv, pjoin('templates','cxx'), '*')) + localenv.Install(pjoin('$ct_templdir','f90'), mglob(localenv, pjoin('templates','f90'), '*')) + localenv.Install(pjoin('$ct_templdir','f77'), mglob(localenv, pjoin('templates','f77'), '*'))) # Copy man pages inst = localenv.Install('$ct_mandir', mglob(localenv, 'man', '*')) installTargets.extend(inst) ### Generate customized scripts ### # 'setup_cantera' v = sys.version_info localenv['python_module_loc'] = pjoin(localenv['prefix'], 'lib', 'python%i.%i' % v[:2], 'site-packages') target = localenv.SubstFile('setup_cantera', 'setup_cantera.in') buildTargets.extend(target) inst = localenv.Install('$ct_bindir','setup_cantera') installTargets.append(inst) # 'mixmaster' if env['python_package'] == 'full': target = localenv.SubstFile('mixmaster', 'mixmaster.in') buildTargets.extend(target) inst = localenv.Install('$ct_bindir', 'mixmaster') localenv.AddPostAction(inst, Chmod('$TARGET', 0755)) installTargets.extend(inst) # 'ctnew' target = localenv.SubstFile('ctnew', 'ctnew.in') buildTargets.extend(target) inst = localenv.Install('$ct_bindir', 'ctnew') localenv.AddPostAction(inst, Chmod('$TARGET', 0755)) installTargets.extend(inst) # 'ctpath.m', 'cantera_demos.m' if env['matlab_toolbox'] == 'y': target = localenv.SubstFile('ctpath.m', 'ctpath.m.in') buildTargets.extend(target) inst = localenv.Install(pjoin('$prefix','matlab'), target) installTargets.extend(inst) inst = localenv.Install(pjoin('$prefix','matlab'), 'cantera_demos.m') installTargets.extend(inst)