summaryrefslogtreecommitdiffstats
path: root/CMakePresets.json
diff options
context:
space:
mode:
authorAnders Leino <aleino@nvidia.com>2024-09-25 10:24:51 +0300
committerGitHub <noreply@github.com>2024-09-25 10:24:51 +0300
commitf5bf5ba5170058f9a9634438f7ff06f1a02e1da6 (patch)
treef01e2aeb4c2336798fa43a44cf7532a52b2b4bc3 /CMakePresets.json
parentcb1fc34c7dae3cb8642e150fcc189683c27859d4 (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.json18
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",