Page MenuHomec4science

SConscript
No OneTemporary

File Metadata

Created
Sat, Apr 27, 08:07

SConscript

from __future__ import print_function
import SCons
from os.path import abspath, join
from SCons.Script import Import, Depends, Split, Copy
Import('main_env')
# Pybind11 wrapper
env_pybind = main_env.Clone(SHLIBPREFIX='')
env_pybind.Tool(pybind11)
pybind_sources = Split("""
tamaas_module.cpp
wrap/core.cpp
wrap/percolation.cpp
wrap/surface.cpp
wrap/model.cpp
wrap/solvers.cpp
wrap/test_features.cpp
""")
if main_env['CXX'] != 'icpc':
pybind_sources += ["wrap/bem.cpp"]
env_pybind.AppendUnique(CPPDEFINES="LEGACY_BEM")
# Building the pybind library
tamaas_wrap = env_pybind.SharedLibrary(
target='tamaas/_tamaas',
source=pybind_sources,
LIBS=['Tamaas'],
RPATH=[abspath('../src')]
)
# For some reason link happens too early
Import('libTamaas')
Depends(tamaas_wrap, libTamaas)
# Copying the __init__.py file with extra python classes
copy_env = env_pybind.Clone(
PRINT_CMD_LINE_FUNC=main_env['gen_print']("Copying", "red", main_env))
copy_env.Command(Dir('tamaas'), Dir('#python/tamaas'), Copy("$TARGET", "$SOURCE"))
copy_env.Command('setup.py', '#python/setup.py', Copy("$TARGET", "$SOURCE"))
# Cleaning the tamaas python package
main_env.Execute(Delete('tamaas'))

Event Timeline