wasm: set longjmp type

Set the longjump type according to the exceptions type
selected at Qt configure time. These should match in
order to produce a working build.

Task-number: QTBUG-129747
Change-Id: Idd8640b374fd0ac52db785985e82cc26f3548674
Reviewed-by: Piotr Wierciński <piotr.wiercinski@qt.io>
Reviewed-by: Lorn Potter <lorn.potter@qt.io>
This commit is contained in:
Morten Sørvig 2024-10-08 15:22:17 +02:00 committed by Morten Johan Sørvig
parent 48859317a6
commit 140701c0e5

View File

@ -34,6 +34,13 @@ function (qt_internal_setup_wasm_target_properties wasmTarget)
target_link_options("${wasmTarget}" INTERFACE -fexceptions)
endif()
# setjmp/longjmp type. The type is "emscripten" by default, but must
# be set to "wasm" when wasm-exceptions are used, for compatibility reasons.
if (QT_FEATURE_wasm_exceptions)
target_compile_options("${wasmTarget}" INTERFACE -s SUPPORT_LONGJMP=wasm)
target_link_options("${wasmTarget}" INTERFACE -s SUPPORT_LONGJMP=wasm)
endif()
if (QT_FEATURE_thread)
target_compile_options("${wasmTarget}" INTERFACE "SHELL:-pthread")
target_link_options("${wasmTarget}" INTERFACE "SHELL:-pthread")