diff --git a/README.md b/README.md index 59a33b76b..4a7577922 100644 --- a/README.md +++ b/README.md @@ -17,11 +17,17 @@ Swiftest also includes the collisional fragmentation algorithm **Fraggle**, an a #### Installation -In order to use Swiftest, you need to have a working `swiftest_driver` executable. Currently, this can be obtained by either compiling the source code on the system you plan to run simulations on (fastest), or by running it from a Docker/Singularity container compiled for an x86_64 CPU using the Intel Fortran compiler (slower) or compiled using the GNU/gfortran compiler (slowest). +For most users, installing swiftest can be done via pip using the command: -**Building the `swiftest_driver` executable** +``` +pip install swiftest +``` + +This will install the `swiftest` Python package, which can be incorporated into Python projects using `import swiftest`. It also will install a standalone executable called `swiftest_driver`, which can execute simulations from the command line, provided that initial conditions and configuration files are available in the path. -Swiftest is designed to be downloaded, compiled, and run on a Linux based system. It is untested on Windows systems. +**Building the `swiftest` Python package and standalone `swiftest_driver` executable** + +Swiftest is designed to be downloaded, compiled, and run on a Linux or MacOS based system. Windows support is currently being developed. It is possible to download, compile, and run Swiftest on a machine with at least 400 MB of free disk space and 8 GB of RAM. To take full advantage of the parallelization and performance updates included in Swiftest, it is highly recommended that Swiftest be installed on a high-performance computing cluster. For reference, Swiftest is maintained on the Purdue University [Bell Community Cluster](https://www.rcac.purdue.edu/compute/bell). @@ -82,6 +88,8 @@ The Docker build will download and compile all of the library dependencies (HDF5 The optional Docker argument `EXTRA_CMAKE_OPTIONS` is provided to pass any additional CMake arguments (see below). +***Compiling `swiftest_driver` using CMake*** +Several build scripts are available in the `buildscripts` folder for building Swiftest and its dependencies on a Linux or Mac system. These are used when generating the official Swiftest Python wheels using cibuildwheel. To build the complete project, run `buildscripts\build_all.sh` from the command line. ***Compiling `swiftest_driver` using CMake*** diff --git a/pyproject.toml b/pyproject.toml index 5075979eb..a68f4f2b6 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -23,8 +23,7 @@ before-all = [ ] [tool.cibuildwheel.macos] -environment-pass = ["MACOSX_DEPLOYMENT_TARGET"] -environment = {GCCVER="13",PATH="${TMPDIR}/bin:${PATH}", LD_LIBRARY_PATH="${TMPDIR}/lib:${LD_LIBRARY_PATH}",CPPFLAGS="${CPPFLAGS} -isystem ${TMPDIR}/include",LDFLAGS="${LDFLAGS} -L${TMPDIR}/lib -fPIE -Wl,-no_compact_unwind",CPATH="${CPATH} ${TMPDIR}/include}", CFLAGS="${CFLAGS} -Wno-unused-but-set-variable -fPIC -Wno-deprecated-non-prototype", SKBUILD_CONFIGURE_OPTIONS="-DUSE_OPENMP=OFF -DUSE_SIMD=OFF -DBUILD_SHARED_LIBS=OFF",FFLAGS="${FFLAGS} -fPIC"} +environment = {PATH="${TMPDIR}/bin:${PATH}", LD_LIBRARY_PATH="${TMPDIR}/lib:${LD_LIBRARY_PATH}",CPPFLAGS="${CPPFLAGS} -isystem ${TMPDIR}/include",LDFLAGS="${LDFLAGS} -L${TMPDIR}/lib",CPATH="${CPATH} ${TMPDIR}/include}", SKBUILD_CONFIGURE_OPTIONS="-DBUILD_SHARED_LIBS=OFF",FFLAGS="${FFLAGS} -fPIC"} before-all = [ "buildscripts/build_dependencies.sh -d ${TMPDIR} -p ${TMPDIR} -m ${MACOSX_DEPLOYMENT_TARGET}" ]