wasm: set embind option in executable finalizer

This prevents setting it more than once, which will
on recent Emscripten versions cause 'duplicate symbol'
linker errors.

Change-Id: Ie6c2ede0569271cf3a02fc993b14bbf27f69ff57
Reviewed-by: Piotr Wierciński <piotr.wiercinski@qt.io>
(cherry picked from commit 320cb68ce5c0c718c6434adfefa6c7460e3cb08a)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This commit is contained in:
Morten Sørvig 2024-06-11 23:32:06 +02:00 committed by Qt Cherry-pick Bot
parent 74f8f0102e
commit c4106cee7c
3 changed files with 6 additions and 2 deletions

View File

@ -11,8 +11,6 @@ function (qt_internal_setup_wasm_target_properties wasmTarget)
"SHELL:-s WASM_BIGINT=1" "SHELL:-s WASM_BIGINT=1"
"SHELL:-s STACK_SIZE=5MB") "SHELL:-s STACK_SIZE=5MB")
target_link_libraries("${wasmTarget}" INTERFACE embind)
## wasm64 ## wasm64
if (WASM64) if (WASM64)
target_compile_options("${wasmTarget}" INTERFACE "SHELL:-s MEMORY64=1" ) target_compile_options("${wasmTarget}" INTERFACE "SHELL:-s MEMORY64=1" )
@ -118,6 +116,7 @@ function(qt_internal_wasm_add_finalizers target)
qt_add_list_file_finalizer(_qt_internal_set_wasm_export_name ${target}) qt_add_list_file_finalizer(_qt_internal_set_wasm_export_name ${target})
qt_add_list_file_finalizer(_qt_internal_add_wasm_extra_exported_methods ${target}) qt_add_list_file_finalizer(_qt_internal_add_wasm_extra_exported_methods ${target})
qt_add_list_file_finalizer(_qt_internal_wasm_add_target_helpers ${target}) qt_add_list_file_finalizer(_qt_internal_wasm_add_target_helpers ${target})
qt_add_list_file_finalizer(_qt_internal_set_wasm_embind_option ${target})
endfunction() endfunction()

View File

@ -731,6 +731,7 @@ function(_qt_internal_finalize_executable target)
_qt_internal_wasm_add_target_helpers("${target}") _qt_internal_wasm_add_target_helpers("${target}")
_qt_internal_add_wasm_extra_exported_methods("${target}") _qt_internal_add_wasm_extra_exported_methods("${target}")
_qt_internal_set_wasm_export_name("${target}") _qt_internal_set_wasm_export_name("${target}")
_qt_internal_set_wasm_embind_option("${target}")
endif() endif()
if(APPLE) if(APPLE)

View File

@ -139,3 +139,7 @@ function(_qt_internal_wasm_export_name_for_target out target)
set(${out} "${target}_entry" PARENT_SCOPE) set(${out} "${target}_entry" PARENT_SCOPE)
endif() endif()
endfunction() endfunction()
function(_qt_internal_set_wasm_embind_option target)
target_link_libraries("${target}" PRIVATE embind)
endfunction()