Skip to content

Commit 2b7414a

Browse files
committed
Read the docs PR preview of xeus-cpp
1 parent 7a3a24b commit 2b7414a

File tree

1 file changed

+42
-1
lines changed

1 file changed

+42
-1
lines changed

docs/source/conf.py

Lines changed: 42 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,48 @@
77
on_rtd = os.environ.get('READTHEDOCS', None) == 'True'
88

99
if on_rtd:
10+
XEUS_CPP_ROOT = os.path.abspath('../..')
11+
command_emscripten = f'''
12+
cd ../../;
13+
curl -L https://micro.mamba.pm/api/micromamba/linux-64/latest | tar -xvj bin/micromamba;
14+
export PATH="$PWD/bin:$PATH";
15+
export MAMBA_EXE="$PWD/bin/micromamba";
16+
export MAMBA_ROOT_PREFIX="/home/docs/checkouts/readthedocs.org/user_builds/xeus-cpp/conda/";
17+
__mamba_setup="$("$MAMBA_EXE" shell hook --shell bash --root-prefix "$MAMBA_ROOT_PREFIX" 2> /dev/null)";
18+
eval "$__mamba_setup";
19+
alias micromamba="$MAMBA_EXE";
20+
micromamba create -f environment-wasm-build.yml -y;
21+
micromamba activate xeus-cpp-wasm-build;
22+
micromamba create -f environment-wasm-host.yml --platform=emscripten-wasm32;
23+
mkdir -p build;
24+
cd build;
25+
export BUILD_PREFIX=$MAMBA_ROOT_PREFIX/xeus-cpp-wasm-build;
26+
export PREFIX=$MAMBA_ROOT_PREFIX/xeus-cpp-wasm-host;
27+
export SYSROOT_PATH=$BUILD_PREFIX/opt/emsdk/upstream/emscripten/cache/sysroot;
28+
emcmake cmake -DCMAKE_BUILD_TYPE=Release \\
29+
-DCMAKE_PREFIX_PATH=$PREFIX \\
30+
-DCMAKE_INSTALL_PREFIX=$PREFIX \\
31+
-DXEUS_CPP_EMSCRIPTEN_WASM_BUILD=ON \\
32+
-DCMAKE_FIND_ROOT_PATH_MODE_PACKAGE=ON \\
33+
-DSYSROOT_PATH=$SYSROOT_PATH \\
34+
{XEUS_CPP_ROOT};
35+
emmake make -j $(nproc --all) install;
36+
cd {XEUS_CPP_ROOT};
37+
micromamba create -n xeus-lite-host jupyterlite-core=0.6 jupyter_server jupyterlite-xeus -c conda-forge -y;
38+
micromamba activate xeus-lite-host;
39+
python -m pip install jupyterlite-xeus jupyter_server;
40+
jupyter lite build --XeusAddon.prefix=$PREFIX \\
41+
--XeusAddon.mounts="$PREFIX/share/xeus-cpp/tagfiles:/share/xeus-cpp/tagfiles" \
42+
--XeusAddon.mounts="$PREFIX/etc/xeus-cpp/tags.d:/etc/xeus-cpp/tags.d" \
43+
--contents notebooks/xeus-cpp-lite-demo.ipynb \\
44+
--contents notebooks/smallpt.ipynb \\
45+
--contents notebooks/images/marie.png \\
46+
--contents notebooks/audio/audio.wav \\
47+
--output-dir $READTHEDOCS_OUTPUT/html/xeus-cpp;
48+
'''
1049
subprocess.call('cd ..; doxygen', shell=True)
50+
subprocess.run(['bash', '-c', command_emscripten], check=True)
51+
1152

1253
import sphinx_rtd_theme
1354

@@ -32,4 +73,4 @@ def setup(app):
3273
highlight_language = 'c++'
3374
pygments_style = 'sphinx'
3475
todo_include_todos = False
35-
htmlhelp_basename = 'xeus-cppdoc'
76+
htmlhelp_basename = 'xeus-cppdoc'

0 commit comments

Comments
 (0)