mirror of
https://github.com/rustdesk/rustdesk.git
synced 2026-06-28 19:25:08 +03:00
Add Windows arm64 support (#15139)
* Add initial arm64 build logic Signed-off-by: Dennis Ameling <dennis@dennisameling.com> * Upgrade Flutter to 3.44.0 and introduce Windows arm64 in CI Signed-off-by: Dennis Ameling <dennis@dennisameling.com> * Bump bridge build to Flutter 3.44 as well Signed-off-by: Dennis Ameling <dennis@dennisameling.com> * Fix install flutter step for Win arm64 * Bump install-llvm-action to v2 for arm64 support * Fix libsodium logic to only install through vcpkg on win arm64 * Fix Flutter installations on Win * Flutter XCode: only build the current arch as it defaults to universal Signed-off-by: Dennis Ameling <dennis@dennisameling.com> * Ensure that we really have arm64 Dart + Flutter engine in CI Signed-off-by: Dennis Ameling <dennis@dennisameling.com> * Enable hwcodec feature now that upstream supports building it Signed-off-by: Dennis Ameling <dennis@dennisameling.com> * CI: improve logic for getting Flutter arm64 SDK Signed-off-by: Dennis Ameling <dennis@dennisameling.com> * Apply PR feedback (only bump Flutter version on Win arm64) * Exclude MSI build on arm64 * CI: build the MSI for Windows arm64 (WiX v4 ARM64 platform + native CustomActions) * Address PR feedback * Update Cargo.toml * Update Cargo.lock * Update Cargo.lock * Add Flutter 3.44 DialogThemeData background colors Signed-off-by: 21pages <sunboeasy@gmail.com> --------- Signed-off-by: Dennis Ameling <dennis@dennisameling.com> Signed-off-by: 21pages <sunboeasy@gmail.com> Co-authored-by: RustDesk <71636191+rustdesk@users.noreply.github.com> Co-authored-by: 21pages <sunboeasy@gmail.com>
This commit is contained in:
11
build.py
11
build.py
@@ -17,7 +17,8 @@ osx = platform.platform().startswith(
|
||||
hbb_name = 'rustdesk' + ('.exe' if windows else '')
|
||||
exe_path = 'target/release/' + hbb_name
|
||||
if windows:
|
||||
flutter_build_dir = 'build/windows/x64/runner/Release/'
|
||||
win_arch = 'arm64' if platform.machine().lower() in ('arm64', 'aarch64') else 'x64'
|
||||
flutter_build_dir = f'build/windows/{win_arch}/runner/Release/'
|
||||
elif osx:
|
||||
flutter_build_dir = 'build/macos/Build/Products/Release/'
|
||||
else:
|
||||
@@ -410,7 +411,12 @@ def build_flutter_dmg(version, features):
|
||||
system2(
|
||||
"cp target/release/liblibrustdesk.dylib target/release/librustdesk.dylib")
|
||||
os.chdir('flutter')
|
||||
system2('flutter build macos --release')
|
||||
# cargo builds a single-arch dylib for the host; restrict Xcode to the same arch
|
||||
# so the universal-by-default ARCHS_STANDARD doesn't try to link a missing slice.
|
||||
# FLUTTER_XCODE_* env vars are forwarded to xcodebuild as build settings.
|
||||
mac_arch = 'arm64' if platform.machine().lower() in ('arm64', 'aarch64') else 'x86_64'
|
||||
system2(
|
||||
f'FLUTTER_XCODE_ARCHS={mac_arch} FLUTTER_XCODE_ONLY_ACTIVE_ARCH=YES flutter build macos --release')
|
||||
system2('cp -rf ../target/release/service ./build/macos/Build/Products/Release/RustDesk.app/Contents/MacOS/')
|
||||
'''
|
||||
system2(
|
||||
@@ -506,6 +512,7 @@ def main():
|
||||
'target\\release\\rustdesk.exe')
|
||||
else:
|
||||
print('Not signed')
|
||||
os.makedirs(res_dir, exist_ok=True)
|
||||
system2(
|
||||
f'cp -rf target/release/RustDesk.exe {res_dir}')
|
||||
os.chdir('libs/portable')
|
||||
|
||||
Reference in New Issue
Block a user