@@ -57,3 +57,54 @@ and the python tests by executing
5757cd ../../test
5858pytest -sv test_xcpp_kernel.py
5959```
60+
61+ ## Setting up a development environment (wasm instructions)
62+
63+ First, you need to fork the project. After you have done this clone your forked repo. You can do this by
64+ executing the folowing
65+
66+ ``` bash
67+ git clone https://github.com/< your-github-username> /xeus-cpp.git
68+ cd ./xeus-cpp
69+ ```
70+
71+ You'll now want to make sure you're using emsdk version "3.1.45" and activate it. You can get this by executing the following
72+ ``` bash
73+ cd $HOME
74+ git clone https://github.com/emscripten-core/emsdk.git
75+ cd emsdk
76+ ./emsdk install 3.1.45
77+ ./emsdk activate 3.1.45
78+ source $HOME /emsdk/emsdk_env.sh
79+ ```
80+
81+ You are now in a position to build the xeus-cpp kernel. You build it by executing the following
82+ ``` bash
83+ micromamba create -f environment-wasm-host.yml --platform=emscripten-wasm32
84+ mkdir build
85+ pushd build
86+ export PREFIX=$MAMBA_ROOT_PREFIX /envs/xeus-cpp-wasm-host
87+ export SYSROOT_PATH=$HOME /emsdk/upstream/emscripten/cache/sysroot
88+
89+ emcmake cmake \
90+ -DCMAKE_BUILD_TYPE=Release \
91+ -DCMAKE_INSTALL_PREFIX=$PREFIX \
92+ -DXEUS_CPP_EMSCRIPTEN_WASM_BUILD=ON \
93+ -DCMAKE_FIND_ROOT_PATH=$PREFIX \
94+ -DSYSROOT_PATH=$SYSROOT_PATH \
95+ ..
96+ emmake make install
97+ ```
98+
99+ To build Jupyter Lite with this kernel without creating a website you can execute the following
100+ ``` bash
101+ micromamba create -n xeus-lite-host jupyterlite-core
102+ micromamba activate xeus-lite-host
103+ python -m pip install jupyterlite-xeus
104+ jupyter lite build --XeusAddon.prefix=$PREFIX
105+ ```
106+
107+ Once the Jupyter Lite site has built you can test the website locally by executing
108+ ``` bash
109+ jupyter lite serve --XeusAddon.prefix=$PREFIX
110+ ```
0 commit comments