wasm: add Emscripten version check for apps
This will tell developers if they are using the wrong version which may not build or might cause other issues. Pick-to: 6.4 Fixes: QTBUG-105922 Change-Id: Ic5c4549d5637182dce380e415f131e33a4da416f Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
This commit is contained in:
parent
4a29ee770f
commit
b515fa56a3
@ -72,3 +72,28 @@ function(__qt_internal_show_error_no_emscripten_toolchain_file_found_when_using_
|
||||
"or provide a path to a valid emscripten installation via the EMSDK "
|
||||
"environment variable.")
|
||||
endfunction()
|
||||
|
||||
function(__qt_internal_get_qt_build_emsdk_version out_var)
|
||||
if(EXISTS "${QT6_INSTALL_PREFIX}/src/corelib/global/qconfig.h")
|
||||
file(READ "${QT6_INSTALL_PREFIX}/src/corelib/global/qconfig.h" ver)
|
||||
else()
|
||||
file(READ "${QT6_INSTALL_PREFIX}/include/QtCore/qconfig.h" ver)
|
||||
endif()
|
||||
string(REGEX MATCH "#define QT_EMCC_VERSION.\"[0-9]+\\.[0-9]+\\.[0-9]+\"" emOutput ${ver})
|
||||
string(REGEX MATCH "[0-9]+\\.[0-9]+\\.[0-9]+" build_emcc_version "${emOutput}")
|
||||
set(${out_var} "${build_emcc_version}" PARENT_SCOPE)
|
||||
endfunction()
|
||||
|
||||
function(_qt_test_emscripten_version)
|
||||
__qt_internal_get_emcc_recommended_version(_recommended_emver)
|
||||
__qt_internal_get_emroot_path_suffix_from_emsdk_env(emroot_path)
|
||||
__qt_internal_query_emsdk_version("${emroot_path}" TRUE current_emsdk_ver)
|
||||
__qt_internal_get_qt_build_emsdk_version(qt_build_emcc_version)
|
||||
|
||||
if(NOT "${qt_build_emcc_version}" STREQUAL "${current_emsdk_ver}")
|
||||
message("Qt Wasm built with Emscripten version: ${qt_build_emcc_version}")
|
||||
message("You are using Emscripten version: ${current_emsdk_ver}")
|
||||
message("The recommended version of Emscripten for this Qt is: ${_recommended_emver}")
|
||||
message("This may not work correctly")
|
||||
endif()
|
||||
endfunction()
|
||||
|
@ -3,6 +3,8 @@
|
||||
|
||||
# Copy in Qt HTML/JS launch files for apps.
|
||||
function(_qt_internal_wasm_add_target_helpers target)
|
||||
|
||||
_qt_test_emscripten_version()
|
||||
get_target_property(targetType "${target}" TYPE)
|
||||
if("${targetType}" STREQUAL "EXECUTABLE")
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user