Skip to content

- Disable shared lib when building with emscripten #7

- Disable shared lib when building with emscripten

- Disable shared lib when building with emscripten #7

Workflow file for this run

name: build
on: [push, pull_request]
jobs:
windows:
runs-on: windows-latest
strategy:
fail-fast: false
matrix:
platform: [Win32, x64]
steps:
- name: Checkout
uses: actions/checkout@v2
with:
path: megasource
- name: Checkout LÖVE
uses: actions/checkout@v2
with:
path: megasource/libs/love
repository: love2d/love
ref: main
- name: Configure
shell: cmd
env:
PLATFORM: ${{ matrix.platform }}
run: cmake -Bbuild -Hmegasource -T v142 -A %PLATFORM% -DCMAKE_INSTALL_PREFIX=%CD%\install
- name: Install
shell: cmd
run: cmake --build build --config Release --target install -j2
wasm:
runs-on: ubuntu-latest
env:
BUILD_DIR: build
EMSDK_VERSION: latest
EMSDK_CACHE_DIR: emsdk-cache
steps:
- name: Checkout
uses: actions/checkout@v4
with:
path: megasource
# - name: Checkout LÖVE
# uses: actions/checkout@v4
# with:
# path: megasource/libs/love
# repository: 26F-Studio/love
# ref: wasm-11.5
- name: Setup Emscripten toolchain
uses: mymindstorm/setup-emsdk@v14
with:
version: ${{ env.EMSDK_VERSION }}
actions-cache-folder: ${{ env.EMSDK_CACHE_DIR }}
- name: Build compat version
run: |
mkdir -p ${{ env.BUILD_DIR }}
emcmake cmake --debug-output -Wno-dev -B ${{ env.BUILD_DIR }} -S megasource -DCMAKE_BUILD_TYPE=Release -DLOVE_JIT=0 -DLOVEJS_COMPAT=1 -DSEXPORT_ALL=1 -DSMAIN_MODULE=1 -DSERROR_ON_UNDEFINED_SYMBOLS=0
emmake make -C ${{ env.BUILD_DIR }} -j
- name: Copy files
run: |
ls ${{ env.BUILD_DIR }}/love
cp ${{ env.BUILD_DIR }}/love/love.js src/compat/
cp ${{ env.BUILD_DIR }}/love/love.wasm src/compat/
- name: Pack files
run: |
7z a -tzip build.zip ${{ env.BUILD_DIR }}/love/love.js ${{ env.BUILD_DIR }}/love/love.wasm
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: Love.js_Compatible
path: build.zip