@@ -745,7 +745,13 @@ jobs:
745745 .\emsdk\emsdk_env.ps1
746746 $env:PWD_DIR= $PWD.Path
747747 $env:SYSROOT_PATH="$env:EMSDK/upstream/emscripten/cache/sysroot"
748- $env:PREFIX="%CONDA_PREFIX%/envs/CppInterOp-wasm"
748+ echo "SYSROOT_PATH=$env:SYSROOT_PATH"
749+ echo "SYSROOT_PATH=$env:SYSROOT_PATH" >> $env:GITHUB_ENV
750+
751+ $env:PREFIX="$env:MAMBA_ROOT_PREFIX/envs/CppInterOp-wasm"
752+ echo "PREFIX=$env:PREFIX"
753+ echo "PREFIX=$env:PREFIX" >> $env:GITHUB_ENV
754+
749755 $env:CMAKE_PREFIX_PATH=$env:PREFIX
750756 $env:CMAKE_SYSTEM_PREFIX_PATH=$env:PREFIX
751757
@@ -819,6 +825,11 @@ jobs:
819825 }
820826 emmake make -j ${{ env.ncpus }} check-cppinterop
821827 emmake make -j ${{ env.ncpus }} install
828+ echo "SYSROOT_PATH=$env:SYSROOT_PATH" >> $GITHUB_ENV
829+ echo "CPPINTEROP_DIR=$env:CPPINTEROP_DIR" >> $GITHUB_ENV
830+ echo "LLVM_BUILD_DIR=$env:LLVM_BUILD_DIR" >> $GITHUB_ENV
831+ echo "CPLUS_INCLUDE_PATH=$env:CPLUS_INCLUDE_PATH" >> $GITHUB_ENV
832+ echo "PREFIX=$env:PREFIX" >> $GITHUB_ENV
822833
823834 - name : Build and Test/Install CppInterOp on Windows systems (static library)
824835 continue-on-error : true
@@ -902,7 +913,7 @@ jobs:
902913 }
903914 emmake make -j ${{ env.ncpus }} check-cppinterop
904915
905- - name : Build xeus-cpp
916+ - name : Build xeus-cpp on Unix Systems
906917 if : ${{ runner.os != 'windows' }}
907918 shell : bash -l {0}
908919 run : |
@@ -926,7 +937,32 @@ jobs:
926937 ..
927938 emmake make -j ${{ env.ncpus }} install
928939
929- - name : Test xeus-cpp C++ Emscripten
940+ - name : Build xeus-cpp on Windows systems
941+ if : ${{ runner.os == 'windows' }}
942+ shell : powershell
943+ run : |
944+ .\emsdk\emsdk activate ${{matrix.emsdk_ver}}
945+ .\emsdk\emsdk_env.ps1
946+ micromamba activate CppInterOp-wasm
947+ git clone https://github.com/mcbarton/xeus-cpp.git
948+ cd .\xeus-cpp
949+ git checkout Enable-Windows-Emscripten-build
950+ mkdir build
951+ pushd build
952+ $env:CMAKE_PREFIX_PATH="${{ env.PREFIX }}"
953+ $env:CMAKE_SYSTEM_PREFIX_PATH="${{ env.PREFIX }}"
954+ emcmake cmake `
955+ -DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }} `
956+ -DCMAKE_PREFIX_PATH=${{ env.PREFIX }} `
957+ -DCMAKE_INSTALL_PREFIX=${{ env.PREFIX }} `
958+ -DXEUS_CPP_EMSCRIPTEN_WASM_BUILD=ON `
959+ -DCMAKE_FIND_ROOT_PATH_MODE_PACKAGE=ON `
960+ -DXEUS_CPP_RESOURCE_DIR=${{ env.LLVM_BUILD_DIR }}\lib\clang\${{ matrix.clang-runtime }} `
961+ -DSYSROOT_PATH=${{ env.SYSROOT_PATH }} `
962+ ..
963+ emmake make -j ${{ env.ncpus }} install
964+
965+ - name : Test xeus-cpp C++ Emscripten on Unix Systems
930966 if : ${{ runner.os != 'windows' }}
931967 shell : bash -l {0}
932968 run : |
@@ -935,6 +971,15 @@ jobs:
935971 cd ./xeus-cpp/build/test
936972 node test_xeus_cpp.js
937973
974+ - name : Test xeus-cpp C++ Emscripten on Windows Systems
975+ if : ${{ runner.os == 'windows' }}
976+ shell : powershell
977+ run : |
978+ $ErrorActionPreference = "Stop"
979+ micromamba activate CppInterOp-wasm
980+ cd .\xeus-cpp\build\test
981+ node test_xeus_cpp.js
982+
938983 - name : Jupyter Lite integration
939984 if : ${{ runner.os != 'windows' }}
940985 shell : bash -l {0}
@@ -943,3 +988,12 @@ jobs:
943988 micromamba create -n xeus-lite-host jupyterlite-core=0.6 jupyterlite-xeus jupyter_server jupyterlab notebook python-libarchive-c -c conda-forge
944989 micromamba activate xeus-lite-host
945990 jupyter lite build --XeusAddon.prefix=${{ env.PREFIX }} --contents notebooks/xeus-cpp-lite-demo.ipynb --contents notebooks/smallpt.ipynb --contents notebooks/images/marie.png --contents notebooks/audio/audio.wav --output-dir dist
991+
992+ - name : Jupyter Lite integration
993+ if : ${{ runner.os == 'windows' }}
994+ shell : powershell
995+ run : |
996+ cd .\xeus-cpp\
997+ micromamba create -n xeus-lite-host jupyterlite-core=0.6 jupyterlite-xeus jupyter_server jupyterlab notebook python-libarchive-c -c conda-forge
998+ micromamba activate xeus-lite-host
999+ jupyter lite build --XeusAddon.prefix=${{ env.PREFIX }} --contents notebooks/xeus-cpp-lite-demo.ipynb --contents notebooks/smallpt.ipynb --contents notebooks/images/marie.png --contents notebooks/audio/audio.wav --output-dir dist
0 commit comments