diff options
author | Tor Arne Vestbø <tor.arne.vestbo@qt.io> | 2022-12-22 15:03:25 +0100 |
---|---|---|
committer | Tor Arne Vestbø <tor.arne.vestbo@qt.io> | 2023-01-02 14:50:51 +0100 |
commit | b0af876bed739994015372a9fa27af051a28d324 (patch) | |
tree | 504eb7a27dd17da0d13a3d30aa474e32b248e554 /cmake | |
parent | 9c56a77027db2fedfc2b50f96ceaee5003a7d383 (diff) |
wasm: Flesh out side module and main module logic for shared builds
Task-number: QTBUG-63925
Change-Id: I9da8ca0364a4fe6c9ec4d272657e1cf726d305c4
Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
Diffstat (limited to 'cmake')
-rw-r--r-- | cmake/QtWasmHelpers.cmake | 24 |
1 files changed, 13 insertions, 11 deletions
diff --git a/cmake/QtWasmHelpers.cmake b/cmake/QtWasmHelpers.cmake index 614a677ae3..9bd98368f5 100644 --- a/cmake/QtWasmHelpers.cmake +++ b/cmake/QtWasmHelpers.cmake @@ -93,17 +93,19 @@ function (qt_internal_setup_wasm_target_properties wasmTarget) set_property(GLOBAL PROPERTY TARGET_SUPPORTS_SHARED_LIBS TRUE) - # plugins are SIDE_MODULE - target_compile_options("${wasmTarget}" INTERFACE - "$<$<STREQUAL:$<TARGET_PROPERTY:TYPE>,MODULE_LIBRARY>:" -s SIDE_MODULE=1>) - target_link_options("${wasmTarget}" INTERFACE - "$<$<STREQUAL:$<TARGET_PROPERTY:TYPE>,MODULE_LIBRARY>:" -s SIDE_MODULE=1>) - - # shared libs are SIDE_MODULE - target_compile_options("${wasmTarget}" INTERFACE - "$<$<STREQUAL:$<TARGET_PROPERTY:TYPE>,SHARED_LIBRARY>:" -s SIDE_MODULE=1>) - target_link_options("${wasmTarget}" INTERFACE - "$<$<STREQUAL:$<TARGET_PROPERTY:TYPE>,SHARED_LIBRARY>:" -s SIDE_MODULE=1>) + set(side_modules + MODULE_LIBRARY SHARED_LIBRARY) + set(enable_side_module_if_needed + "$<$<IN_LIST:$<TARGET_PROPERTY:TYPE>,${side_modules}>:SHELL:-s SIDE_MODULE=1>") + set(enable_main_module_if_needed + "$<$<IN_LIST:$<TARGET_PROPERTY:TYPE>,EXECUTABLE>:SHELL:-s MAIN_MODULE=1>") + set(set_shared_module_type_if_needed + "${enable_side_module_if_needed}" + "${enable_main_module_if_needed}" + ) + + target_compile_options("${wasmTarget}" INTERFACE "${set_shared_module_type_if_needed}") + target_link_options("${wasmTarget}" INTERFACE "${set_shared_module_type_if_needed}") else() target_link_options("${wasmTarget}" INTERFACE "SHELL:-s ERROR_ON_UNDEFINED_SYMBOLS=1") |