mirror of
https://github.com/different-ai/openwork
synced 2026-04-25 17:15:34 +02:00
commit stuff for windows arm
This commit is contained in:
@@ -7,6 +7,7 @@
|
||||
"scripts": {
|
||||
"dev": "OPENWORK_DEV_MODE=1 OPENWORK_DATA_DIR=\"$HOME/.openwork/openwork-orchestrator-dev\" tauri dev --config src-tauri/tauri.dev.conf.json --config \"{\\\"build\\\":{\\\"devUrl\\\":\\\"http://localhost:${PORT:-5173}\\\"}}\"",
|
||||
"dev:windows": "node ./scripts/dev-windows.mjs",
|
||||
"dev:windows:x64": "node ./scripts/dev-windows.mjs x64",
|
||||
"build": "tauri build",
|
||||
"prepare:sidecar": "node ./scripts/prepare-sidecar.mjs"
|
||||
},
|
||||
|
||||
@@ -6,8 +6,11 @@ const pnpmCmd = process.platform === "win32" ? "corepack.cmd" : "pnpm";
|
||||
const pnpmArgs = process.platform === "win32" ? ["pnpm"] : [];
|
||||
const port = Number.parseInt(process.env.PORT ?? "", 10);
|
||||
const resolvedPort = Number.isFinite(port) && port > 0 ? port : 5173;
|
||||
const tauriTarget =
|
||||
process.platform === "win32" && process.arch === "arm64" ? "x86_64-pc-windows-msvc" : null;
|
||||
const requestedTarget = process.argv[2] === "x64" ? "x64" : null;
|
||||
const hostArch = process.arch === "arm64" ? "arm64" : "x64";
|
||||
const targetArch = requestedTarget ?? hostArch;
|
||||
const tauriTarget = targetArch === "x64" && hostArch === "arm64" ? "x86_64-pc-windows-msvc" : null;
|
||||
const llvmBin = process.env.LLVM_BIN || "C:\\Program Files\\LLVM\\bin";
|
||||
|
||||
const loadWindowsBuildEnv = () => {
|
||||
if (process.platform !== "win32") return {};
|
||||
@@ -18,8 +21,6 @@ const loadWindowsBuildEnv = () => {
|
||||
|
||||
if (!existsSync(vsDevCmd)) return {};
|
||||
|
||||
const targetArch = tauriTarget === "x86_64-pc-windows-msvc" ? "x64" : process.arch;
|
||||
const hostArch = process.arch === "arm64" ? "arm64" : "x64";
|
||||
const command = `\"${vsDevCmd}\" -arch=${targetArch} -host_arch=${hostArch} >nul && set`;
|
||||
const result = spawnSync(process.env.ComSpec || "cmd.exe", ["/d", "/s", "/c", command], {
|
||||
encoding: "utf8",
|
||||
@@ -41,8 +42,12 @@ const loadWindowsBuildEnv = () => {
|
||||
};
|
||||
|
||||
const windowsBuildEnv = loadWindowsBuildEnv();
|
||||
const mergedPath =
|
||||
windowsBuildEnv.Path || windowsBuildEnv.PATH || process.env.Path || process.env.PATH || "";
|
||||
const mergedPath = [
|
||||
existsSync(llvmBin) ? llvmBin : null,
|
||||
windowsBuildEnv.Path || windowsBuildEnv.PATH || process.env.Path || process.env.PATH || null,
|
||||
]
|
||||
.filter(Boolean)
|
||||
.join(";");
|
||||
|
||||
const env = {
|
||||
...process.env,
|
||||
@@ -53,12 +58,18 @@ const env = {
|
||||
`${homedir()}${process.platform === "win32" ? "\\" : "/"}.openwork${process.platform === "win32" ? "\\" : "/"}openwork-orchestrator-dev`,
|
||||
OPENWORK_USE_COREPACK_PNPM: "1",
|
||||
PORT: String(resolvedPort),
|
||||
CC: process.env.CC || "clang",
|
||||
CXX: process.env.CXX || "clang++",
|
||||
CLANG_PATH: process.env.CLANG_PATH || (existsSync(llvmBin) ? `${llvmBin}\\clang.exe` : "clang"),
|
||||
...(tauriTarget
|
||||
? {
|
||||
CC_x86_64_pc_windows_msvc: process.env.CC_x86_64_pc_windows_msvc || "clang",
|
||||
TAURI_ENV_TARGET_TRIPLE: tauriTarget,
|
||||
CARGO_BUILD_TARGET: tauriTarget,
|
||||
}
|
||||
: {}),
|
||||
: {
|
||||
CC_aarch64_pc_windows_msvc: process.env.CC_aarch64_pc_windows_msvc || "clang",
|
||||
}),
|
||||
};
|
||||
|
||||
if (mergedPath) {
|
||||
|
||||
3205
apps/desktop/src-tauri/gen/schemas/windows-schema.json
Normal file
3205
apps/desktop/src-tauri/gen/schemas/windows-schema.json
Normal file
File diff suppressed because it is too large
Load Diff
@@ -4,7 +4,8 @@
|
||||
"version": "0.0.0",
|
||||
"scripts": {
|
||||
"dev": "OPENWORK_DEV_MODE=1 pnpm --filter @openwork/desktop dev",
|
||||
"dev:windows": "scripts/dev-windows.cmd",
|
||||
"dev:windows": ".\\scripts\\dev-windows.cmd",
|
||||
"dev:windows:x64": ".\\scripts\\dev-windows.cmd x64",
|
||||
"dev:ui": "OPENWORK_DEV_MODE=1 pnpm --filter @openwork/app dev",
|
||||
"dev:story": "OPENWORK_DEV_MODE=1 pnpm --filter @openwork/story-book dev",
|
||||
"dev:web": "OPENWORK_DEV_MODE=1 pnpm --filter @openwork-ee/den-web dev",
|
||||
|
||||
@@ -1,6 +1,30 @@
|
||||
@echo off
|
||||
setlocal
|
||||
|
||||
set "TARGET_ARCH=%~1"
|
||||
set "VSDEVCMD=%VSDEVCMD_PATH%"
|
||||
set "HOST_ARCH=x64"
|
||||
|
||||
if /I "%PROCESSOR_ARCHITECTURE%"=="ARM64" set "HOST_ARCH=arm64"
|
||||
if /I "%TARGET_ARCH%"=="x64" (
|
||||
set "VS_ARCH=x64"
|
||||
) else (
|
||||
set "VS_ARCH=%HOST_ARCH%"
|
||||
)
|
||||
|
||||
if not defined VSDEVCMD if exist "%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe" for /f "usebackq delims=" %%i in (`"%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe" -latest -products * -requires Microsoft.VisualStudio.Component.VC.Tools.x86.x64 -find Common7\Tools\VsDevCmd.bat`) do set "VSDEVCMD=%%i"
|
||||
if not defined VSDEVCMD if exist "C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\Common7\Tools\VsDevCmd.bat" set "VSDEVCMD=C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\Common7\Tools\VsDevCmd.bat"
|
||||
if defined VSDEVCMD call "%VSDEVCMD%" -arch=x64 -host_arch=arm64 >nul
|
||||
call corepack pnpm --filter @openwork/desktop dev:windows
|
||||
|
||||
if not defined VSDEVCMD (
|
||||
echo [openwork] Could not find VsDevCmd.bat. Install Visual Studio Build Tools with Desktop development with C++.
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
call "%VSDEVCMD%" -arch=%VS_ARCH% -host_arch=%HOST_ARCH% >nul
|
||||
if errorlevel 1 exit /b %errorlevel%
|
||||
|
||||
if /I "%TARGET_ARCH%"=="x64" (
|
||||
call corepack pnpm --filter @openwork/desktop dev:windows:x64
|
||||
) else (
|
||||
call corepack pnpm --filter @openwork/desktop dev:windows
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user