1313
1414env :
1515 BUILD_TYPE : Release
16+ EM_VERSION : 2.0.4 # Emscripten version
17+ EM_CACHE_FOLDER : ' emsdk-cache' # Cache for Emscripten libs
1618
1719jobs :
1820
@@ -25,25 +27,32 @@ jobs:
2527 - os : ubuntu-20.04
2628 name : Linux
2729 release-suffix : LIN64
28- cmake-args : -D32BLIT_PATH =$GITHUB_WORKSPACE/32blit
30+ cmake-args : -D32BLIT_DIR =$GITHUB_WORKSPACE/32blit
2931 apt-packages : libsdl2-dev libsdl2-image-dev libsdl2-net-dev python3-setuptools
3032
3133 - os : ubuntu-20.04
3234 name : STM32
3335 release-suffix : STM32
3436 cmake-args : -DCMAKE_TOOLCHAIN_FILE=$GITHUB_WORKSPACE/32blit/32blit.toolchain
3537 apt-packages : gcc-arm-none-eabi libnewlib-arm-none-eabi libstdc++-arm-none-eabi-newlib python3-setuptools
38+
39+ - os : ubuntu-20.04
40+ name : Emscripten
41+ release-suffix : WEB
42+ cmake-args : -D32BLIT_DIR=$GITHUB_WORKSPACE/32blit
43+ cmake-prefix : emcmake
44+ apt-packages : python3-setuptools
3645
3746 - os : macos-latest
3847 name : macOS
3948 release-suffix : MACOS
40- cmake-args : -D32BLIT_PATH =$GITHUB_WORKSPACE/32blit
49+ cmake-args : -D32BLIT_DIR =$GITHUB_WORKSPACE/32blit
4150 brew-packages : sdl2 sdl2_image sdl2_net
4251
4352 - os : windows-latest
4453 name : Visual Studio
4554 release-suffix : WIN64
46- cmake-args : -D32BLIT_PATH =$GITHUB_WORKSPACE/32blit
55+ cmake-args : -D32BLIT_DIR =$GITHUB_WORKSPACE/32blit
4756
4857 runs-on : ${{matrix.os}}
4958
8594 run : |
8695 python -m pip install 32blit
8796
97+ # Emscripten SDK setup
98+ - name : Setup Emscripten cache
99+ if : matrix.name == 'Emscripten'
100+ id : cache-system-libraries
101+ uses : actions/cache@v2
102+ with :
103+ path : ${{env.EM_CACHE_FOLDER}}
104+ key : ${{env.EM_VERSION}}-${{runner.os}}
105+
106+ - name : Setup Emscripten
107+ if : matrix.name == 'Emscripten'
108+ uses : mymindstorm/setup-emsdk@v7
109+ with :
110+ version : ${{env.EM_VERSION}}
111+ actions-cache-folder : ${{env.EM_CACHE_FOLDER}}
112+
88113 # Set up the cmake build environment
89114 - name : Create Build Environment
90115 run : cmake -E make_directory ${{runner.workspace}}/main/build
93118 - name : Configure CMake
94119 shell : bash
95120 working-directory : ${{runner.workspace}}/main/build
96- run : cmake $GITHUB_WORKSPACE/main -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DCMAKE_INSTALL_PREFIX=`pwd` ${{matrix.cmake-args}}
121+ run : ${{matrix. cmake-prefix}} cmake $GITHUB_WORKSPACE/main -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DCPACK_PACKAGE_FILE_NAME=${{env.RELEASE_FILE}} ${{matrix.cmake-args}}
97122
98123 # And then run the build itself
99124 - name : Build
@@ -108,9 +133,7 @@ jobs:
108133 shell : bash
109134 working-directory : ${{runner.workspace}}/main/build
110135 run : |
111- cmake --build . --target install
112- tar -zcf ${RELEASE_FILE}.tar.gz bin/
113- 7z a ${RELEASE_FILE}.zip bin/*
136+ cmake --build . --target package
114137
115138 # Push the tar file to the release
116139 - name : Upload tar
0 commit comments