77on_rtd = os .environ .get ('READTHEDOCS' , None ) == 'True'
88
99if 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
1253import sphinx_rtd_theme
1354
@@ -32,4 +73,4 @@ def setup(app):
3273highlight_language = 'c++'
3374pygments_style = 'sphinx'
3475todo_include_todos = False
35- htmlhelp_basename = 'xeus-cppdoc'
76+ htmlhelp_basename = 'xeus-cppdoc'
0 commit comments