diff options
| author | Anders Leino <aleino@nvidia.com> | 2024-09-25 10:24:51 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-09-25 10:24:51 +0300 |
| commit | f5bf5ba5170058f9a9634438f7ff06f1a02e1da6 (patch) | |
| tree | f01e2aeb4c2336798fa43a44cf7532a52b2b4bc3 /CMakePresets.json | |
| parent | cb1fc34c7dae3cb8642e150fcc189683c27859d4 (diff) | |
Enable emscripten builds to compile slang.dll to WebAssembly. (#5131)
* Compile fixes for Wasm
The issues are all are due to 'long' types being 32 bits on WASM.
- class members redeclared errors
- << with StringBuilder and unsigned long is ambiguous
This helps to address issue #5115.
* Use the host executable suffix for generators
Since the generators are run at build-time, we should not use CMAKE_EXECUTABLE_SUFFIX,
which is the suffix for the target platform.
Instead, define CMAKE_HOST_EXECUTABLE_SUFFIX as appropriate, and use that suffix instead.
This helps to address issue #5115.
* Add support for Wasm as a platform
This helps to address issue #5115.
* Add emscripten build
This closes #5115.
Diffstat (limited to 'CMakePresets.json')
| -rw-r--r-- | CMakePresets.json | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/CMakePresets.json b/CMakePresets.json index e87b976bd..7b847e03e 100644 --- a/CMakePresets.json +++ b/CMakePresets.json @@ -16,6 +16,16 @@ } }, { + "name": "emscripten", + "description": "Emscripten-based Wasm build", + "generator": "ninja", + "binaryDir": "${sourceDir}/build.em", + "cacheVariables": { + "SLANG_SLANG_LLVM_FLAVOR": "DISABLE", + "CMAKE_EXE_LINKER_FLAGS": "-sASSERTIONS -sALLOW_MEMORY_GROWTH" + } + }, + { "name": "msvc-base", "hidden": true, "inherits": "default", @@ -75,6 +85,14 @@ "configuration": "Release" }, { + "name": "emscripten", + "configurePreset": "emscripten", + "configuration": "Release", + "targets": [ + "slang" + ] + }, + { "name": "generators", "inherits": "release", "configurePreset": "generators", |
