From 72dad27a2599f19208f0d770f283e9a5a6650875 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Morten=20S=C3=B8rvig?= Date: Wed, 12 Jun 2024 11:46:04 +0200 Subject: [PATCH] wasm: refactor cmake finalizers MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Avoid duplication and move finalizer code to a new function "_qt_internal_finalize_wasm_app", which can be called from the add_executable functions. Change-Id: I4859a3999725ebf61a496d78665b6a259dfeb0f5 Reviewed-by: Alexandru Croitor Reviewed-by: Piotr WierciƄski (cherry picked from commit 2116c62256bbf1bc3d516430509a93177572d86f) Reviewed-by: Qt Cherry-pick Bot --- cmake/QtExecutableHelpers.cmake | 7 +++---- cmake/QtWasmHelpers.cmake | 7 +------ src/corelib/Qt6CoreMacros.cmake | 5 +---- src/corelib/Qt6WasmMacros.cmake | 8 ++++++++ 4 files changed, 13 insertions(+), 14 deletions(-) diff --git a/cmake/QtExecutableHelpers.cmake b/cmake/QtExecutableHelpers.cmake index 10f9fd94460..f2831e5e8a8 100644 --- a/cmake/QtExecutableHelpers.cmake +++ b/cmake/QtExecutableHelpers.cmake @@ -34,6 +34,9 @@ function(qt_internal_add_executable name) if(ANDROID) _qt_internal_android_executable_finalizer(${name}) endif() + if(WASM) + qt_internal_wasm_add_finalizers(${name}) + endif() if(arg_QT_APP AND QT_FEATURE_debug_and_release AND CMAKE_VERSION VERSION_GREATER_EQUAL "3.19.0") set_property(TARGET "${name}" @@ -148,10 +151,6 @@ function(qt_internal_add_executable name) qt_internal_set_exceptions_flags("${name}" ${arg_EXCEPTIONS}) - if(WASM) - qt_internal_wasm_add_finalizers("${name}") - endif() - # Check if target needs to be excluded from all target. Also affects qt_install. # Set by qt_exclude_tool_directories_from_default_target. set(exclude_from_all FALSE) diff --git a/cmake/QtWasmHelpers.cmake b/cmake/QtWasmHelpers.cmake index 00e8fd51873..6c42bd124d5 100644 --- a/cmake/QtWasmHelpers.cmake +++ b/cmake/QtWasmHelpers.cmake @@ -113,10 +113,5 @@ function (qt_internal_setup_wasm_target_properties wasmTarget) endfunction() 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_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_set_wasm_embind_option ${target}) + qt_add_list_file_finalizer(_qt_internal_finalize_wasm_app ${target}) endfunction() - - diff --git a/src/corelib/Qt6CoreMacros.cmake b/src/corelib/Qt6CoreMacros.cmake index 2d4acf01237..5fc26f45bf1 100644 --- a/src/corelib/Qt6CoreMacros.cmake +++ b/src/corelib/Qt6CoreMacros.cmake @@ -728,10 +728,7 @@ function(_qt_internal_finalize_executable target) endif() if(EMSCRIPTEN) - _qt_internal_wasm_add_target_helpers("${target}") - _qt_internal_add_wasm_extra_exported_methods("${target}") - _qt_internal_set_wasm_export_name("${target}") - _qt_internal_set_wasm_embind_option("${target}") + _qt_internal_finalize_wasm_app("${target}") endif() if(APPLE) diff --git a/src/corelib/Qt6WasmMacros.cmake b/src/corelib/Qt6WasmMacros.cmake index bea9e41e28a..38722d1b17c 100644 --- a/src/corelib/Qt6WasmMacros.cmake +++ b/src/corelib/Qt6WasmMacros.cmake @@ -143,3 +143,11 @@ endfunction() function(_qt_internal_set_wasm_embind_option target) target_link_libraries("${target}" PRIVATE embind) endfunction() + +function(_qt_internal_finalize_wasm_app target) + _qt_internal_set_wasm_export_name("${target}") + _qt_internal_add_wasm_extra_exported_methods("${target}") + _qt_internal_wasm_add_target_helpers("${target}") + _qt_internal_set_wasm_embind_option("${target}") +endfunction() +