Add powershell script for windows wasm build

This commit is contained in:
Dave Dalcino
2022-10-05 21:52:26 -07:00
parent 125248c111
commit 0aed2cb926
3 changed files with 63 additions and 10 deletions

View File

@@ -30,9 +30,8 @@ import patch
from aqt.archives import TargetConfig
from aqt.exceptions import UpdaterError
from aqt.helper import Settings
from aqt.metadata import QtRepoProperty, SimpleSpec, Version
from aqt.metadata import ArchiveId, MetadataFactory, QtRepoProperty, SimpleSpec, Version
default_desktop_arch_dir = QtRepoProperty.default_desktop_arch_dir
dir_for_version = QtRepoProperty.dir_for_version
@@ -279,12 +278,14 @@ class Updater:
updater.patch_qtcore(target)
elif version in SimpleSpec(">=5.0,<6.0"):
updater.patch_qmake()
else: # qt6 non-desktop
desktop_arch_dir = (
installed_desktop_arch_dir
if installed_desktop_arch_dir is not None
else default_desktop_arch_dir(os_name, version)
)
else: # qt6 mobile or wasm
if installed_desktop_arch_dir is not None:
desktop_arch_dir = installed_desktop_arch_dir
else:
# Use MetadataFactory to check what the default architecture should be
meta = MetadataFactory(ArchiveId("qt", os_name, "desktop"))
desktop_arch_dir = meta.fetch_default_desktop_arch(version)
# NOTE: desktop_arch_dir may need to be wasm_32 in the wasm case
updater.patch_qmake_script(base_dir, version_dir, target.os_name, desktop_arch_dir)
updater.patch_target_qt_conf(base_dir, version_dir, arch_dir, target.os_name, desktop_arch_dir)

View File

@@ -266,6 +266,12 @@ linux_build_jobs.append(
mac_build_jobs.append(
BuildJob("install-qt", "5.14.2", "mac", "desktop", "wasm_32", "wasm_32")
)
windows_build_jobs.append(
BuildJob("install-qt", "5.14.2", "windows", "desktop", "wasm_32", "wasm_32")
)
windows_build_jobs.append(
BuildJob("install-qt", "6.4.0", "windows", "desktop", "wasm_32", "wasm_32")
)
# mobile SDK
mac_build_jobs.extend(

View File

@@ -339,5 +339,51 @@ steps:
qmake $(Build.BinariesDirectory)/tests/openglwindow
make
workingDirectory: $(Build.BinariesDirectory)
condition: and(eq( variables['ARCH'], 'wasm_32' ), or(eq(variables['Agent.OS'], 'Linux'), eq(variables['Agent.OS'], 'Darwin')))
displayName: 'Build WebAssembler sample project'
condition: |
and(
eq( variables['ARCH'], 'wasm_32' ),
or(
eq(variables['Agent.OS'], 'Linux'),
eq(variables['Agent.OS'], 'Darwin')
)
)
displayName: 'Build WebAssembler sample project on mac/linux'
# wasm_32 on Windows cmd.exe
- powershell: |
git clone https://github.com/emscripten-core/emsdk.git
cd emsdk
.\emsdk install sdk-fastcomp-1.38.27-64bit
.\emsdk activate --embedded sdk-fastcomp-1.38.27-64bit
.\emsdk_env.bat
mkdir $(Build.BinariesDirectory)\tests
cd $(Build.BinariesDirectory)\tests
7z x $(Build.SourcesDirectory)\ci\openglwindow.7z
$env:Path += ";$(WIN_QT_BINDIR)"
echo "Add Qt/qmake to PATH at $(WIN_QT_BINDIR):"
echo "$env:Path"
if('$(QT_VERSION)' -like '6*') {
echo "Qt6: run qmake.bat"
qmake.bat $(Build.BinariesDirectory)\tests\openglwindow
} else {
echo "Qt5: run qmake.exe"
qmake $(Build.BinariesDirectory)\tests\openglwindow
}
if ($false -eq $?) {
Write-Error "qmake failed."
Write-Host "##vso[task.logissue type=error]qmake failed."
exit(1)
}
make
if ($false -eq $?) {
Write-Error "make failed."
Write-Host "##vso[task.logissue type=error]nmake failed."
exit(1)
}
workingDirectory: $(Build.BinariesDirectory)
condition: |
and(
eq( variables['ARCH'], 'wasm_32' ),
eq( variables['Agent.OS'], 'Windows_NT' )
)
displayName: 'Build WebAssembler sample project on windows'