UNPKG

trtc-electron-sdk

Version:

trtc electron sdk

91 lines (84 loc) 3.37 kB
const path = require("path"); const fs = require("fs"); const { removeSync, copySync } = require("fs-extra"); const signale = require('signale'); // npm run copy:sdk const SDK_ROOT = path.resolve(__dirname, "../../"); const SDK_CPP_PATH = path.join(SDK_ROOT, "trtc-electron-cpp"); const SDK_JS_PATH = path.join(SDK_ROOT, "trtc-electron-sdk"); const sourceNodeFilePath = path.resolve(SDK_CPP_PATH, "build/Release/trtc_electron_sdk.node"); const targetNodeFilePath = path.resolve(SDK_JS_PATH, "build/Release/trtc_electron_sdk.node"); try { fs.accessSync(sourceNodeFilePath) } catch(err) { signale.warn("No trtc_electron_sdk.node file, don't need to copy."); return; } removeSync(path.join(SDK_JS_PATH, "build")); copySync(sourceNodeFilePath, targetNodeFilePath); if (process.platform === "win32") { let dllPrefix = ""; if (process.arch === "x64") { dllPrefix = "Win64"; } else { dllPrefix = "Win32"; } copySync( path.resolve(SDK_CPP_PATH, `src/remote-liteav/sdk/win/${dllPrefix}/lib/`), path.resolve(SDK_JS_PATH, "build/Release/") ); copySync( path.resolve(SDK_CPP_PATH, `src/remote-liteav/sdk/remote_liteav/${dllPrefix}/`), path.resolve(SDK_JS_PATH, "build/Release/") ); copySync( path.resolve(SDK_CPP_PATH, "build/Release/trtc_electron_sdk.pdb"), path.resolve(SDK_JS_PATH, "build/Release/trtc_electron_sdk.pdb") ); } else if (process.platform === 'darwin') { copySync( path.resolve(SDK_CPP_PATH, "build/Release/trtc_electron_sdk.node"), path.resolve(SDK_JS_PATH, `build/Release/${process.arch}/trtc_electron_sdk.node`) ); copySync( path.resolve(SDK_CPP_PATH, "build/Release/trtc_electron_sdk.node.dSYM"), path.resolve(SDK_JS_PATH, "build/Release/trtc_electron_sdk.node.dSYM") ); copySync( path.resolve(SDK_CPP_PATH, `src/remote-liteav/sdk/mac/Frameworks/${process.arch}/TXFFmpeg.framework`), path.resolve(SDK_JS_PATH, `build/mac-framework/${process.arch}/TXFFmpeg.framework`) ); copySync( path.resolve(SDK_CPP_PATH, `src/remote-liteav/sdk/mac/Frameworks/${process.arch}/TXSoundTouch.framework`), path.resolve(SDK_JS_PATH, `build/mac-framework/${process.arch}/TXSoundTouch.framework`) ); copySync( path.resolve(SDK_CPP_PATH, `src/remote-liteav/sdk/mac/Frameworks/${process.arch}/TXLiteAVSDK_TRTC_Mac.framework`), path.resolve(SDK_JS_PATH, `build/mac-framework/${process.arch}/TXLiteAVSDK_TRTC_Mac.framework`) ); copySync( path.resolve(SDK_CPP_PATH, `src/remote-liteav/out/Release-macos/${process.arch}/liblive_kit_engine.dylib`), path.resolve(SDK_JS_PATH, `build/mac-framework/${process.arch}/liblive_kit_engine.dylib`) ); } else { // linux let soPrefix = "" if (process.arch === 'x64') { soPrefix = "x86_64"; } else { soPrefix = "arm64"; } copySync( path.resolve(SDK_CPP_PATH, 'build/Release/trtc_electron_sdk.node'), path.resolve(SDK_JS_PATH, `build/Release/${process.arch}/trtc_electron_sdk.node`) ); copySync( path.resolve(SDK_CPP_PATH, `src/remote-liteav/sdk/linux/libs/${soPrefix}/`), path.resolve(SDK_JS_PATH, 'build/Release/') ); copySync( path.resolve(SDK_CPP_PATH, `src/remote-liteav/sdk/linux/libs/${soPrefix}/`), path.resolve(SDK_JS_PATH, `build/Release/${process.arch}/`) ); } signale.log("CopySDKManual.doCopy: 复制结束");