import inspect import sys from pathlib import Path import cmake_build_extension import setuptools """ Install python wrapper of virtual fluids install via python: python setup.py install build_ext set CMAKE Flags via -DBUILD_VF_GPU:BOOL=1 or install via pip: pip install -e . set CMAKE Flags via --configure-settings -DBUILD_VF_GPU=1 """ init_py = inspect.cleandoc( """ import cmake_build_extension with cmake_build_extension.build_extension_env(): from .bindings import * """ ) extra_args = [] if("cmake_args" in locals()): extra_args.extend([f"{k}={v}" for k,v in locals()["cmake_args"].items()]) setuptools.setup( ext_modules=[ cmake_build_extension.CMakeExtension( name="pyfluids", install_prefix="pyfluids", write_top_level_init=init_py, source_dir=str(Path(__file__).parent.absolute()), cmake_configure_options = [ f"-DPython3_ROOT_DIR={Path(sys.prefix)}", "-DCALL_FROM_SETUP_PY:BOOL=ON", "-DBUILD_VF_PYTHON_BINDINGS=ON", "-DCMAKE_CXX_COMPILER_LAUNCHER=ccache", "-DCMAKE_CUDA_COMPILER_LAUNCHER=ccache", "-DCMAKE_C_COMPILER_LAUNCHER=ccache", "-DBUILD_SHARED_LIBS=OFF", "-DBUILD_VF_DOUBLE_ACCURACY=OFF", "-DBUILD_VF_UNIT_TESTS:BOOL=OFF", "-DBUILD_WARNINGS_AS_ERRORS=OFF", ] + extra_args, ) ], cmdclass=dict( build_ext=cmake_build_extension.BuildExtension, ), )