@@ -3,36 +3,51 @@ set -ex
33
44# Create or update conda environment
55export ROOT=" $PWD " /$( dirname " $0 " )
6- if [ ! -d " $ROOT /.env" ]; then
7- conda env create -f " $ROOT /environment.yml" --prefix " $ROOT /.env"
6+ if [ ! -d " $ROOT " /.env ]; then
7+ conda env create -f " $ROOT " /environment.yml --prefix " $ROOT " /.env
88else
9- conda env update -f " $ROOT /environment.yml" --prefix " $ROOT /.env" --prune
9+ conda env update -f " $ROOT " /environment.yml --prefix " $ROOT " /.env --prune
1010fi
1111
1212# Activate conda environment
1313eval " $( conda shell.bash hook) "
14- conda activate " $ROOT /.env"
14+ conda activate " $ROOT " /.env
1515
16- # Setup and check dependencies
17- export PYBIND11_PREFIX=" $CONDA_PREFIX /share/cmake/pybind11"
18- export CMAKE_MODULE_PATH=" $CONDA_PREFIX /share/cmake/Modules"
16+ # Create build directory
17+ mkdir -p " $ROOT " /build
1918
20- # Default to not building the test suite
21- if [ -z " $LIBCARNA_PYTHON_BUILD_TEST " ]; then
22- export LIBCARNA_PYTHON_BUILD_TEST=" OFF"
23- else
24- pip install -r test/requirements.txt
19+ # Build native extension
20+ cd " $ROOT " /build
21+ cmake -DCMAKE_BUILD_TYPE=Release \
22+ -DPYTHON_EXECUTABLE=" $( which python) " \
23+ -Dpybind11_DIR=" $CONDA_PREFIX /share/cmake/pybind11" \
24+ -DCMAKE_MODULE_PATH=" $CONDA_PREFIX /share/cmake/Modules" \
25+ " $ROOT "
26+ if [ -z " $LIBCARNA_SKIP_NATIVE " ]; then
27+ make VERBOSE=1
2528fi
2629
27- # Build wheel and test
28- cd " $ROOT "
29- python setup.py bdist_wheel
30+ # Build wheel
31+ python -m build --no-isolation
32+
33+ # Install wheel
34+ rm -rf venv
35+ python -m venv venv --system-site-package
36+ source venv/bin/activate
37+ pip install --no-deps dist/* .whl
38+
39+ # Optionally, run the test suite
40+ if [ -v LIBCARNA_PYTHON_BUILD_TEST ]; then
41+ cd " $ROOT "
42+ pip install -r test/requirements.txt
43+ python -m unittest
44+ fi
3045
3146# Optionally, build the documentation
3247if [ -v LIBCARNA_PYTHON_BUILD_DOCS ]; then
48+ cd " $ROOT "
3349 pip install -r docs/requirements.txt
34- export LIBCARNA_PYTHON_PATH=" $ROOT /build/make_release"
35- rm -rf $ROOT /docs/build
50+ rm -rf docs/build
3651 sphinx-build -M html docs docs/build
37- cp $ROOT / docs/build/html/examples/* .ipynb $ROOT / examples/
52+ cp docs/build/html/examples/* .ipynb examples/
3853fi
0 commit comments