Merge pull request #41 from ochafik/build-nits
`build`: Add script to build openscad-wasm + remove useless script
This commit is contained in:
commit
31a329fb5a
2 changed files with 26 additions and 22 deletions
26
build-openscad-wasm.sh
Executable file
26
build-openscad-wasm.sh
Executable file
|
|
@ -0,0 +1,26 @@
|
|||
#!/bin/bash
|
||||
set -euo pipefail
|
||||
|
||||
if [ -z "${OPENSCAD_DIR:-}" ]; then
|
||||
OPENSCAD_DIR=/tmp/openscad-color
|
||||
if [ ! -d "$OPENSCAD_DIR" ]; then
|
||||
rm -fR "$OPENSCAD_DIR"
|
||||
git clone --recurse https://github.com/ochafik/openscad.git \
|
||||
--depth=1 --branch color-assimp2 --single-branch \
|
||||
"$OPENSCAD_DIR"
|
||||
fi
|
||||
fi
|
||||
|
||||
( cd "$OPENSCAD_DIR" &&
|
||||
docker run --rm -it -v $PWD:/src:rw --platform=linux/amd64 openscad/wasm-base:latest \
|
||||
emcmake cmake -B build -DEXPERIMENTAL=ON "$@" && \
|
||||
docker run --rm -it -v $PWD:/src:rw --platform=linux/amd64 openscad/wasm-base:latest \
|
||||
cmake --build build -j10 )
|
||||
|
||||
rm -fR libs/openscad-wasm
|
||||
mkdir -p libs/openscad-wasm
|
||||
|
||||
cp "$OPENSCAD_DIR/build/openscad.wasm" libs/openscad-wasm/
|
||||
cp "$OPENSCAD_DIR/build/openscad.js" libs/openscad-wasm/
|
||||
cp "$OPENSCAD_DIR/build/openscad.wasm.map" libs/openscad-wasm/ || true
|
||||
( cd libs && zip -r ../dist/openscad-wasm.zip openscad-wasm )
|
||||
|
|
@ -1,22 +0,0 @@
|
|||
const [workerJsFile, openscadEmscriptenJsFile, outputFile, deploymentUrl] = Deno.args;
|
||||
console.log(`
|
||||
workerJsFile: ${workerJsFile}
|
||||
openscadEmscriptenJsFile: ${openscadEmscriptenJsFile}
|
||||
outputFile: ${outputFile}
|
||||
deploymentUrl: ${deploymentUrl}
|
||||
`)
|
||||
|
||||
const importMetaUrl = `${deploymentUrl}${outputFile.split('/').splice(-1)[0]}`
|
||||
|
||||
const workerJs = await Deno.readTextFile(workerJsFile);
|
||||
const openscadEmscriptenJs = await Deno.readTextFile(openscadEmscriptenJsFile);
|
||||
|
||||
const out = `// AUTO GENERATED FILE - DO NOT EDIT
|
||||
var import_meta_url = '${deploymentUrl}';
|
||||
|
||||
${openscadEmscriptenJs.replaceAll(/import.meta.url/g, 'import_meta_url').replaceAll(/export default OpenSCAD;/g, '')}
|
||||
|
||||
${workerJs.replaceAll(/import OpenSCAD from .*;/g, '')}
|
||||
`;
|
||||
|
||||
await Deno.writeTextFile(outputFile, out);
|
||||
Loading…
Reference in a new issue