mirror of
https://github.com/miurahr/aqtinstall.git
synced 2025-12-17 20:54:38 +03:00
Add powershell script for windows wasm build
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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(
|
||||
|
||||
50
ci/steps.yml
50
ci/steps.yml
@@ -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'
|
||||
|
||||
Reference in New Issue
Block a user