mirror of
https://github.com/miurahr/aqtinstall.git
synced 2025-12-18 13:14:37 +03:00
Merge branch 'master' into patch-issue61
This commit is contained in:
@@ -62,8 +62,12 @@ General usage looks like this:
|
||||
* The Qt version is formatted like this: `5.11.3`
|
||||
* Host is one of: `linux`, `mac`, `windows`
|
||||
* Target is one of: `desktop`, `android`, `ios` (iOS only works with mac host)
|
||||
* For android and windows you also need to specify an arch: `win64_msvc2017_64`,
|
||||
`win64_msvc2015_64`, `win32_msvc2015`, `win32_mingw53`, `win64_mingw73`, `android_x86`, `android_armv7`
|
||||
* For some platforms you also need to specify an arch:
|
||||
* For windows, choose one of: `win64_msvc2017_64`, `win32_msvc2017`, `win64_msvc2015_64`, `win32_msvc2015`,
|
||||
`win64_mingw73`, `win32_mingw73`, `win64_mingw53`, `win32_mingw53`, `win64_msvc2017_winrt_x64`,
|
||||
`win64_msvc2017_winrt_x86`, `win64_msvc2017_winrt_armv7`
|
||||
* For android and Qt 5.13 or below, choose one of: `android_x86_64`, `android_arm64_v8a`, `android_x86`,
|
||||
`android_armv7`
|
||||
* You can also use internal 7zip extractor instead of external 7zip command.
|
||||
* You can specify external 7zip command path.
|
||||
|
||||
|
||||
14
aqt/cli.py
14
aqt/cli.py
@@ -28,6 +28,8 @@ import os
|
||||
import platform
|
||||
import sys
|
||||
|
||||
from packaging.version import Version, parse
|
||||
|
||||
from aqt.archives import QtArchives, ToolArchives
|
||||
from aqt.installer import QtInstaller
|
||||
|
||||
@@ -73,7 +75,7 @@ class Cli():
|
||||
exit(1)
|
||||
return sevenzip
|
||||
|
||||
def _set_arch(self, args, oarch, os_name, target):
|
||||
def _set_arch(self, args, oarch, os_name, target, qt_version):
|
||||
arch = oarch
|
||||
if arch is None:
|
||||
if os_name == "linux" and target == "desktop":
|
||||
@@ -82,6 +84,8 @@ class Cli():
|
||||
arch = "clang_64"
|
||||
elif os_name == "mac" and target == "ios":
|
||||
arch = "ios"
|
||||
elif target == "android" and parse(qt_version) >= Version('5.14.0'):
|
||||
arch = "android"
|
||||
if arch == "":
|
||||
print("Please supply a target architecture.")
|
||||
args.print_help()
|
||||
@@ -100,12 +104,12 @@ class Cli():
|
||||
arch = args.arch
|
||||
target = args.target
|
||||
os_name = args.host
|
||||
qt_version = args.qt_version
|
||||
output_dir = args.outputdir
|
||||
arch = self._set_arch(args, arch, os_name, target)
|
||||
arch = self._set_arch(args, arch, os_name, target, qt_version)
|
||||
modules = args.modules
|
||||
sevenzip = self._set_sevenzip(args)
|
||||
mirror = self._check_mirror(args)
|
||||
qt_version = args.qt_version
|
||||
if not self._check_qt_arg_combination(qt_version, os_name, target, arch):
|
||||
self.logger.error("Specified target combination is not valid: {} {} {}".format(os_name, target, arch))
|
||||
exit(1)
|
||||
@@ -158,7 +162,9 @@ class Cli():
|
||||
"\n wasm_32"
|
||||
"\nwindows/winrt: win64_msvc2017_winrt_x64, win64_msvc2017_winrt_x86"
|
||||
"\n win64_msvc2017_winrt_armv7"
|
||||
"\nandroid: android_x86, android_armv7")
|
||||
"\nandroid: Qt 5.14: android (optional)"
|
||||
"\n Qt 5.13 or below: android_x86_64, android_arm64_v8a"
|
||||
"\n android_x86, android_armv7")
|
||||
install_parser.add_argument('-m', '--modules', nargs='*', help="Specify extra modules to install")
|
||||
install_parser.add_argument('-O', '--outputdir', nargs='?',
|
||||
help='Target output directory(default current directory)')
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
[{"qt": [
|
||||
{"os_name": "linux", "target": "desktop", "arch": "gcc_64"},
|
||||
{"os_name": "linux", "target": "desktop", "arch": "wasm_32"},
|
||||
{"os_name": "linux", "target": "android", "arch": "android"},
|
||||
{"os_name": "linux", "target": "android", "arch": "android_x86_64"},
|
||||
{"os_name": "linux", "target": "android", "arch": "android_arm64_v8a"},
|
||||
{"os_name": "linux", "target": "android", "arch": "android_x86"},
|
||||
{"os_name": "linux", "target": "android", "arch": "android_armv7"},
|
||||
{"os_name": "mac", "target": "desktop", "arch": "clang_64"},
|
||||
@@ -18,6 +21,9 @@
|
||||
{"os_name": "windows", "target": "winrt", "arch": "win64_msvc2017_winrt_x86"},
|
||||
{"os_name": "windows", "target": "winrt", "arch": "win64_msvc2017_winrt_armv7"},
|
||||
{"os_name": "windows", "target": "desktop", "arch": "wasm_32"},
|
||||
{"os_name": "windows", "target": "android", "arch": "android"},
|
||||
{"os_name": "windows", "target": "android", "arch": "android_x86_64"},
|
||||
{"os_name": "windows", "target": "android", "arch": "android_arm64_v8a"},
|
||||
{"os_name": "windows", "target": "android", "arch": "android_x86"},
|
||||
{"os_name": "windows", "target": "android", "arch": "android_armv7"}
|
||||
], "tools": [
|
||||
|
||||
@@ -72,8 +72,8 @@ mac_build_jobs.append(
|
||||
# Windows Desktop
|
||||
windows_build_jobs.extend(
|
||||
[
|
||||
BuildJob('5.12.5', 'windows', 'desktop', 'win64_msvc2017_64', 'msvc2017_64'),
|
||||
BuildJob('5.12.5', 'windows', 'desktop', 'win32_msvc2017', 'msvc2017'),
|
||||
BuildJob('5.12.6', 'windows', 'desktop', 'win64_msvc2017_64', 'msvc2017_64'),
|
||||
BuildJob('5.12.6', 'windows', 'desktop', 'win32_msvc2017', 'msvc2017'),
|
||||
]
|
||||
)
|
||||
|
||||
@@ -84,11 +84,11 @@ windows_build_jobs.append(
|
||||
|
||||
windows_build_jobs.extend(
|
||||
[
|
||||
BuildJob('5.13.1', 'windows', 'desktop', 'win64_msvc2017_64', 'msvc2017_64'),
|
||||
BuildJob('5.13.1', 'windows', 'desktop', 'win64_msvc2015_64', 'msvc2015_64'),
|
||||
BuildJob('5.13.1', 'windows', 'desktop', 'win64_mingw73', 'mingw73_64'),
|
||||
BuildJob('5.13.1', 'windows', 'desktop', 'win32_msvc2017', 'msvc2017'),
|
||||
BuildJob('5.13.1', 'windows', 'desktop', 'win32_mingw73', 'mingw73_32'),
|
||||
BuildJob('5.13.2', 'windows', 'desktop', 'win64_msvc2017_64', 'msvc2017_64'),
|
||||
BuildJob('5.13.2', 'windows', 'desktop', 'win64_msvc2015_64', 'msvc2015_64'),
|
||||
BuildJob('5.13.2', 'windows', 'desktop', 'win64_mingw73', 'mingw73_64'),
|
||||
BuildJob('5.13.2', 'windows', 'desktop', 'win32_msvc2017', 'msvc2017'),
|
||||
BuildJob('5.13.2', 'windows', 'desktop', 'win32_mingw73', 'mingw73_32'),
|
||||
]
|
||||
)
|
||||
|
||||
@@ -104,20 +104,23 @@ windows_build_jobs.extend(
|
||||
# Users might develop on Win/Mac, but are most likely to use Linux for CI/CD with
|
||||
# the Android ecosystem.
|
||||
|
||||
for android_arch in ['android_x86', 'android_armv7']:
|
||||
for android_arch in ['android_x86_64', 'android_arm64_v8a', 'android_x86', 'android_armv7']:
|
||||
linux_build_jobs.append(
|
||||
BuildJob('5.13.1', 'linux', 'android', android_arch, android_arch)
|
||||
BuildJob('5.13.2', 'linux', 'android', android_arch, android_arch)
|
||||
)
|
||||
linux_build_jobs.append(
|
||||
BuildJob('5.14.0', 'linux', 'android', 'android', 'android')
|
||||
)
|
||||
|
||||
# Extra modules test
|
||||
linux_build_jobs.append(
|
||||
BuildJob('5.13.1', 'linux', 'desktop', 'gcc_64', 'gcc_64', module='qtnetworkauth')
|
||||
BuildJob('5.13.2', 'linux', 'desktop', 'gcc_64', 'gcc_64', module='qtnetworkauth')
|
||||
)
|
||||
mac_build_jobs.append(
|
||||
BuildJob('5.13.1', 'mac', 'desktop', 'clang_64', 'clang_64', module='qtnetworkauth')
|
||||
BuildJob('5.13.2', 'mac', 'desktop', 'clang_64', 'clang_64', module='qtnetworkauth')
|
||||
)
|
||||
windows_build_jobs.append(
|
||||
BuildJob('5.13.1', 'windows', 'desktop', 'win64_msvc2017_64', 'msvc2017_64', module='qtnetworkauth')
|
||||
BuildJob('5.13.2', 'windows', 'desktop', 'win64_msvc2017_64', 'msvc2017_64', module='qtnetworkauth')
|
||||
)
|
||||
|
||||
|
||||
|
||||
10
ci/steps.yml
10
ci/steps.yml
@@ -51,18 +51,18 @@ steps:
|
||||
##----------------------------------------------------
|
||||
# for Android on linux
|
||||
- script: |
|
||||
wget https://dl.google.com/android/repository/android-ndk-r19c-linux-x86_64.zip
|
||||
unzip android-ndk-r19c-linux-x86_64.zip
|
||||
wget https://dl.google.com/android/repository/android-ndk-r20b-linux-x86_64.zip
|
||||
unzip android-ndk-r20b-linux-x86_64.zip
|
||||
condition: and(eq(variables['TARGET'], 'android'), eq(variables['Agent.OS'], 'Linux'))
|
||||
displayName: Download and extract Android NDK
|
||||
# for Android on mac
|
||||
- script: |
|
||||
wget https://dl.google.com/android/repository/android-ndk-r19c-darwin-x86_64.zip
|
||||
unzip android-ndk-r19c-darwin-x86_64.zip
|
||||
wget https://dl.google.com/android/repository/android-ndk-r20b-darwin-x86_64.zip
|
||||
unzip android-ndk-r20b-darwin-x86_64.zip
|
||||
condition: and(eq(variables['TARGET'], 'android'), eq(variables['Agent.OS'], 'Darwin'))
|
||||
displayName: Download and extract Android NDK
|
||||
- script: |
|
||||
export ANDROID_NDK_ROOT=$(Build.SourcesDirectory)/android-ndk-r19c
|
||||
export ANDROID_NDK_ROOT=$(Build.SourcesDirectory)/android-ndk-r20b
|
||||
$(Build.BinariesDirectory)/Qt/$(QT_VERSION)/$(ARCHDIR)/bin/qmake $(Build.SourcesDirectory)/tests/accelbubble/ && make
|
||||
condition: and(eq(variables['TARGET'], 'android'), or(eq(variables['Agent.OS'], 'Linux'), eq(variables['Agent.OS'], 'Darwin')))
|
||||
displayName: Build accelbubble example application to test for android
|
||||
|
||||
2
setup.py
2
setup.py
@@ -21,7 +21,7 @@ setup(name='aqtinstall',
|
||||
author_email='miurahr@linux.com',
|
||||
packages=["aqt"],
|
||||
package_data={'aqt': ['*.yml', "*.json", "*.ini"]},
|
||||
install_requires=['requests', 'six', 'py7zr'],
|
||||
install_requires=['requests', 'six', 'py7zr', 'packaging'],
|
||||
extras_require={'dev': ['pytest', 'pytest-pep8', 'pytest-cov', 'flake8']},
|
||||
scripts=["bin/aqt"],
|
||||
classifiers=[
|
||||
|
||||
Reference in New Issue
Block a user