Skip to content

Enables concurrent testing of pybind11 with multiple build environments.

License

Notifications You must be signed in to change notification settings

rwgk/pybind11_scons

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

84 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

pybind11_scons

Enables concurrent testing of pybind11 with multiple build environments and easy experimenting.

Status: Linux only. No bells or whistles.

Example usage:

Starting from scratch:

sudo apt install scons  # Or similar, depending on platform (if not installed already).

mkdir workspace
git clone https://github.com/rwgk/pybind11_scons.git
git clone https://github.com/catchorg/Catch2.git
git clone https://github.com/pybind/pybind11.git

Starting a new build directory:

mkdir build_clang
cd build_clang
echo "/usr" > PYROOT
cp ../pybind11_scons/SConstruct .
# Maybe edit SConstruct to change compiler (default is linux_clang).

Iterating for development:

scons -j 8 && "$(cat PYROOT)"/bin/python3 ../pybind11_scons/run_tests.py ../pybind11

Note: this creates NO artifacts in ../pybind11, although pytest might. Use git clean -fdx to clean up.

NOTE: smart_holder_poc_test.cpp needs to be built manually, for example:

clang++ -fsanitize=address -std=c++11 -O0 -g -Wall -Wextra -Wconversion -Wcast-qual -Wdeprecated -Wnon-virtual-dtor -I$HOME/forked/pybind11/include -I$HOME/clone/Catch2/single_include/catch2 -I/usr/include/python3.11 $HOME/forked/pybind11/tests/pure_cpp/smart_holder_poc_test.cpp && ./a.out

About

Enables concurrent testing of pybind11 with multiple build environments.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published