mirror of
https://github.com/MrUnknownDE/VRCX.git
synced 2026-05-07 06:56:04 +02:00
Electron arm64
This commit is contained in:
@@ -8,7 +8,7 @@
|
|||||||
<TargetFramework>net9.0</TargetFramework>
|
<TargetFramework>net9.0</TargetFramework>
|
||||||
<OutputType>Library</OutputType>
|
<OutputType>Library</OutputType>
|
||||||
<Configurations>Debug;Release</Configurations>
|
<Configurations>Debug;Release</Configurations>
|
||||||
<Platforms>x64</Platforms>
|
<Platforms>x64;ARM64</Platforms>
|
||||||
<PlatformTarget>x64</PlatformTarget>
|
<PlatformTarget>x64</PlatformTarget>
|
||||||
<ApplicationRevision>0</ApplicationRevision>
|
<ApplicationRevision>0</ApplicationRevision>
|
||||||
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
|
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
|
||||||
@@ -35,10 +35,16 @@
|
|||||||
<DefineConstants>LINUX</DefineConstants>
|
<DefineConstants>LINUX</DefineConstants>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
<DebugType>full</DebugType>
|
<DebugType>full</DebugType>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">
|
||||||
|
<DebugType>full</DebugType>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||||
|
<DebugType>pdbonly</DebugType>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">
|
||||||
<DebugType>pdbonly</DebugType>
|
<DebugType>pdbonly</DebugType>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
|
|||||||
+1
-1
@@ -13,7 +13,7 @@
|
|||||||
"test:coverage": "jest --coverage",
|
"test:coverage": "jest --coverage",
|
||||||
"prod": "cross-env PLATFORM=windows webpack --config webpack.config.js --mode production",
|
"prod": "cross-env PLATFORM=windows webpack --config webpack.config.js --mode production",
|
||||||
"prod-linux": "cross-env PLATFORM=linux webpack --config webpack.config.js --mode production",
|
"prod-linux": "cross-env PLATFORM=linux webpack --config webpack.config.js --mode production",
|
||||||
"build-electron": "node ./src-electron/download-dotnet-runtime.js && node ./src-electron/patch-package-version.js && electron-builder --x64 --publish never",
|
"build-electron": "node ./src-electron/download-dotnet-runtime.js && node ./src-electron/patch-package-version.js && electron-builder --publish never",
|
||||||
"postbuild-electron": "node ./src-electron/patch-node-api-dotnet.js && node ./src-electron/rename-builds.js",
|
"postbuild-electron": "node ./src-electron/patch-node-api-dotnet.js && node ./src-electron/rename-builds.js",
|
||||||
"start-electron": "electron ."
|
"start-electron": "electron ."
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -3,8 +3,29 @@ const path = require('path');
|
|||||||
const https = require('https');
|
const https = require('https');
|
||||||
const { spawnSync } = require('child_process');
|
const { spawnSync } = require('child_process');
|
||||||
|
|
||||||
|
let runnerArch = process.arch.toString();
|
||||||
|
let runnerPlatform = process.platform.toString();
|
||||||
|
const args = process.argv.slice(2);
|
||||||
|
for (let i = 0; i < args.length; i++) {
|
||||||
|
if (args[i] === '--arch' && i + 1 < args.length) {
|
||||||
|
runnerArch = args[i + 1];
|
||||||
|
} else if (args[i] === '--platform' && i + 1 < args.length) {
|
||||||
|
runnerPlatform = args[i + 1];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
let platform = '';
|
||||||
|
if (runnerPlatform === 'linux') {
|
||||||
|
platform = 'linux';
|
||||||
|
} else if (runnerPlatform === 'darwin') {
|
||||||
|
platform = 'osx';
|
||||||
|
} else if (runnerPlatform === 'win32') {
|
||||||
|
platform = 'win';
|
||||||
|
} else {
|
||||||
|
throw new Error(`Unsupported platform: ${runnerPlatform}`);
|
||||||
|
}
|
||||||
|
|
||||||
const DOTNET_VERSION = '9.0.8';
|
const DOTNET_VERSION = '9.0.8';
|
||||||
const DOTNET_RUNTIME_URL = `https://builds.dotnet.microsoft.com/dotnet/Runtime/${DOTNET_VERSION}/dotnet-runtime-${DOTNET_VERSION}-linux-x64.tar.gz`;
|
const DOTNET_RUNTIME_URL = `https://builds.dotnet.microsoft.com/dotnet/Runtime/${DOTNET_VERSION}/dotnet-runtime-${DOTNET_VERSION}-${platform}-${runnerArch}.tar.gz`;
|
||||||
const DOTNET_RUNTIME_DIR = path.join(
|
const DOTNET_RUNTIME_DIR = path.join(
|
||||||
__dirname,
|
__dirname,
|
||||||
'..',
|
'..',
|
||||||
@@ -58,12 +79,14 @@ async function extractTarGz(tarGzPath, extractDir) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async function main() {
|
async function main() {
|
||||||
if (process.platform !== 'linux') {
|
if (platform !== 'linux' && platform !== 'darwin') {
|
||||||
console.log('Skipping .NET runtime download on non-Linux platform');
|
console.log('Skipping .NET runtime download on non supported platform');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
console.log(`Downloading .NET ${DOTNET_VERSION} runtime...`);
|
console.log(
|
||||||
|
`Downloading .NET ${DOTNET_VERSION}-${platform}-${runnerArch} runtime...`
|
||||||
|
);
|
||||||
|
|
||||||
if (!fs.existsSync(DOTNET_RUNTIME_DIR)) {
|
if (!fs.existsSync(DOTNET_RUNTIME_DIR)) {
|
||||||
fs.mkdirSync(DOTNET_RUNTIME_DIR, { recursive: true });
|
fs.mkdirSync(DOTNET_RUNTIME_DIR, { recursive: true });
|
||||||
|
|||||||
@@ -43,6 +43,9 @@ switch (process.platform) {
|
|||||||
platformName = 'linux';
|
platformName = 'linux';
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
if (process.arch === 'arm64') {
|
||||||
|
platformName += '-arm64';
|
||||||
|
}
|
||||||
const postBuildPath = path.join(
|
const postBuildPath = path.join(
|
||||||
__dirname,
|
__dirname,
|
||||||
`./../build/${platformName}-unpacked/resources/app.asar.unpacked/node_modules/node-api-dotnet/init.js`
|
`./../build/${platformName}-unpacked/resources/app.asar.unpacked/node_modules/node-api-dotnet/init.js`
|
||||||
|
|||||||
Reference in New Issue
Block a user