mirror of
https://github.com/velopack/velopack.git
synced 2025-10-25 15:19:22 +00:00
Also compile to static lib
This commit is contained in:
36
.github/workflows/build.yml
vendored
36
.github/workflows/build.yml
vendored
@@ -30,7 +30,7 @@ jobs:
|
|||||||
- name: Update Version
|
- name: Update Version
|
||||||
shell: pwsh
|
shell: pwsh
|
||||||
run: .\set-nbgv-version.ps1
|
run: .\set-nbgv-version.ps1
|
||||||
- name: Build Rust (x86)
|
- name: Build Rust Binaries
|
||||||
run: cargo +1.75.0-x86_64-pc-windows-msvc build --target i686-pc-windows-msvc --features windows --release -p velopack_bins
|
run: cargo +1.75.0-x86_64-pc-windows-msvc build --target i686-pc-windows-msvc --features windows --release -p velopack_bins
|
||||||
- name: Upload Rust Build Artifacts
|
- name: Upload Rust Build Artifacts
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v4
|
||||||
@@ -39,18 +39,29 @@ jobs:
|
|||||||
path: |
|
path: |
|
||||||
target\i686-pc-windows-msvc\release\*.exe
|
target\i686-pc-windows-msvc\release\*.exe
|
||||||
target\i686-pc-windows-msvc\release\*.pdb
|
target\i686-pc-windows-msvc\release\*.pdb
|
||||||
|
- name: Build Rust (x86)
|
||||||
|
run: cargo +1.75.0-x86_64-pc-windows-msvc build --target i686-pc-windows-msvc --release -p velopack_nodeffi -p velopack_libc
|
||||||
- name: Build Rust (x64)
|
- name: Build Rust (x64)
|
||||||
run: cargo +1.75.0-x86_64-pc-windows-msvc build --target x86_64-pc-windows-msvc --release -p velopack_nodeffi -p velopack_libc
|
run: cargo +1.75.0-x86_64-pc-windows-msvc build --target x86_64-pc-windows-msvc --release -p velopack_nodeffi -p velopack_libc
|
||||||
- name: Build Rust (arm64)
|
- name: Build Rust (arm64)
|
||||||
run: cargo +1.75.0-x86_64-pc-windows-msvc build --target aarch64-pc-windows-msvc --release -p velopack_nodeffi -p velopack_libc
|
run: cargo +1.75.0-x86_64-pc-windows-msvc build --target aarch64-pc-windows-msvc --release -p velopack_nodeffi -p velopack_libc
|
||||||
- name: Collect Artifacts
|
- name: Collect Artifacts
|
||||||
run: |
|
run: |
|
||||||
|
move target\i686-pc-windows-msvc\release\velopack_nodeffi.dll target\velopack_nodeffi_win_x86_msvc.node
|
||||||
move target\x86_64-pc-windows-msvc\release\velopack_nodeffi.dll target\velopack_nodeffi_win_x64_msvc.node
|
move target\x86_64-pc-windows-msvc\release\velopack_nodeffi.dll target\velopack_nodeffi_win_x64_msvc.node
|
||||||
move target\aarch64-pc-windows-msvc\release\velopack_nodeffi.dll target\velopack_nodeffi_win_arm64_msvc.node
|
move target\aarch64-pc-windows-msvc\release\velopack_nodeffi.dll target\velopack_nodeffi_win_arm64_msvc.node
|
||||||
|
|
||||||
|
move target\i686-pc-windows-msvc\release\velopack_libc.dll target\velopack_libc_win_x86_msvc.dll
|
||||||
move target\x86_64-pc-windows-msvc\release\velopack_libc.dll target\velopack_libc_win_x64_msvc.dll
|
move target\x86_64-pc-windows-msvc\release\velopack_libc.dll target\velopack_libc_win_x64_msvc.dll
|
||||||
move target\aarch64-pc-windows-msvc\release\velopack_libc.dll target\velopack_libc_win_arm64_msvc.dll
|
move target\aarch64-pc-windows-msvc\release\velopack_libc.dll target\velopack_libc_win_arm64_msvc.dll
|
||||||
move target\x86_64-pc-windows-msvc\release\velopack_libc.dll.lib target\velopack_libc_win_x64_msvc.lib
|
|
||||||
move target\aarch64-pc-windows-msvc\release\velopack_libc.dll.lib target\velopack_libc_win_arm64_msvc.lib
|
move target\i686-pc-windows-msvc\release\velopack_libc.dll.lib target\velopack_libc_win_x86_msvc.dll.lib
|
||||||
|
move target\x86_64-pc-windows-msvc\release\velopack_libc.dll.lib target\velopack_libc_win_x64_msvc.dll.lib
|
||||||
|
move target\aarch64-pc-windows-msvc\release\velopack_libc.dll.lib target\velopack_libc_win_arm64_msvc.dll.lib
|
||||||
|
|
||||||
|
move target\i686-pc-windows-msvc\release\velopack_libc.lib target\velopack_libc_win_x86_msvc.lib
|
||||||
|
move target\x86_64-pc-windows-msvc\release\velopack_libc.lib target\velopack_libc_win_x64_msvc.lib
|
||||||
|
move target\aarch64-pc-windows-msvc\release\velopack_libc.lib target\velopack_libc_win_arm64_msvc.lib
|
||||||
- name: Upload Rust Build Artifacts
|
- name: Upload Rust Build Artifacts
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
@@ -86,6 +97,7 @@ jobs:
|
|||||||
cp ./target/x86_64-unknown-linux-gnu/release/update ./target/UpdateNix_x64
|
cp ./target/x86_64-unknown-linux-gnu/release/update ./target/UpdateNix_x64
|
||||||
cp ./target/x86_64-unknown-linux-gnu/release/libvelopack_nodeffi.so ./target/velopack_nodeffi_linux_x64_gnu.node
|
cp ./target/x86_64-unknown-linux-gnu/release/libvelopack_nodeffi.so ./target/velopack_nodeffi_linux_x64_gnu.node
|
||||||
cp ./target/x86_64-unknown-linux-gnu/release/libvelopack_libc.so ./target/velopack_libc_linux_x64_gnu.so
|
cp ./target/x86_64-unknown-linux-gnu/release/libvelopack_libc.so ./target/velopack_libc_linux_x64_gnu.so
|
||||||
|
cp ./target/x86_64-unknown-linux-gnu/release/libvelopack_libc.a ./target/velopack_libc_linux_x64_gnu.a
|
||||||
- name: Build Rust (arm64)
|
- name: Build Rust (arm64)
|
||||||
run: |
|
run: |
|
||||||
cargo build --release --target aarch64-unknown-linux-gnu
|
cargo build --release --target aarch64-unknown-linux-gnu
|
||||||
@@ -93,6 +105,7 @@ jobs:
|
|||||||
cp ./target/aarch64-unknown-linux-gnu/release/update ./target/UpdateNix_arm64
|
cp ./target/aarch64-unknown-linux-gnu/release/update ./target/UpdateNix_arm64
|
||||||
cp ./target/aarch64-unknown-linux-gnu/release/libvelopack_nodeffi.so ./target/velopack_nodeffi_linux_arm64_gnu.node
|
cp ./target/aarch64-unknown-linux-gnu/release/libvelopack_nodeffi.so ./target/velopack_nodeffi_linux_arm64_gnu.node
|
||||||
cp ./target/aarch64-unknown-linux-gnu/release/libvelopack_libc.so ./target/velopack_libc_linux_arm64_gnu.so
|
cp ./target/aarch64-unknown-linux-gnu/release/libvelopack_libc.so ./target/velopack_libc_linux_arm64_gnu.so
|
||||||
|
cp ./target/aarch64-unknown-linux-gnu/release/libvelopack_libc.a ./target/velopack_libc_linux_arm64_gnu.a
|
||||||
- name: Upload Rust Build Artifacts
|
- name: Upload Rust Build Artifacts
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
@@ -137,6 +150,8 @@ jobs:
|
|||||||
file ./target/velopack_nodeffi_osx.node
|
file ./target/velopack_nodeffi_osx.node
|
||||||
lipo -create -output ./target/velopack_libc_osx.dylib ./target/x86_64-apple-darwin/release/libvelopack_libc.dylib ./target/aarch64-apple-darwin/release/libvelopack_libc.dylib
|
lipo -create -output ./target/velopack_libc_osx.dylib ./target/x86_64-apple-darwin/release/libvelopack_libc.dylib ./target/aarch64-apple-darwin/release/libvelopack_libc.dylib
|
||||||
file ./target/velopack_libc_osx.dylib
|
file ./target/velopack_libc_osx.dylib
|
||||||
|
cp ./target/x86_64-apple-darwin/release/libvelopack_libc.a ./target/velopack_libc_osx_x64_gnu.a
|
||||||
|
cp ./target/aarch64-apple-darwin/release/libvelopack_libc.a ./target/velopack_libc_osx_arm64_gnu.a
|
||||||
- name: Upload Rust Build Artifacts
|
- name: Upload Rust Build Artifacts
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
@@ -315,12 +330,17 @@ jobs:
|
|||||||
mv target/release/*.node src/lib-nodejs/lib/native/
|
mv target/release/*.node src/lib-nodejs/lib/native/
|
||||||
|
|
||||||
mkdir lib-c
|
mkdir lib-c
|
||||||
mkdir lib-c/lib
|
mkdir lib-c/dylib
|
||||||
|
mkdir lib-c/staticlib
|
||||||
mkdir lib-c/include
|
mkdir lib-c/include
|
||||||
mv target/release/*.so lib-c/lib/
|
|
||||||
mv target/release/*.dylib lib-c/lib/
|
mv target/release/*.so lib-c/dylib/
|
||||||
mv target/release/*.dll lib-c/lib/
|
mv target/release/*.dylib lib-c/dylib/
|
||||||
mv target/release/*.lib lib-c/lib/
|
mv target/release/*.dll lib-c/dylib/
|
||||||
|
mv target/release/*.dll.lib lib-c/dylib/
|
||||||
|
mv target/release/*.a lib-c/staticlib/
|
||||||
|
mv target/release/*.lib lib-c/staticlib/
|
||||||
|
|
||||||
cp src/lib-cpp/include/* lib-c/include/
|
cp src/lib-cpp/include/* lib-c/include/
|
||||||
|
|
||||||
mkdir bin-core
|
mkdir bin-core
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ rust-version.workspace = true
|
|||||||
|
|
||||||
[lib]
|
[lib]
|
||||||
path = "src/lib.rs"
|
path = "src/lib.rs"
|
||||||
crate-type = ["cdylib"]
|
crate-type = ["cdylib", "staticlib"]
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
velopack.workspace = true
|
velopack.workspace = true
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ import { proxy } from "@neon-rs/load";
|
|||||||
|
|
||||||
module.exports = proxy({
|
module.exports = proxy({
|
||||||
platforms: {
|
platforms: {
|
||||||
|
"win32-x86-msvc": () => require("./native/velopack_nodeffi_win_x86_msvc.node"),
|
||||||
"win32-x64-msvc": () => require("./native/velopack_nodeffi_win_x64_msvc.node"),
|
"win32-x64-msvc": () => require("./native/velopack_nodeffi_win_x64_msvc.node"),
|
||||||
"win32-arm64-msvc": () => require("./native/velopack_nodeffi_win_arm64_msvc.node"),
|
"win32-arm64-msvc": () => require("./native/velopack_nodeffi_win_arm64_msvc.node"),
|
||||||
"darwin-x64": () => require("./native/velopack_nodeffi_osx.node"),
|
"darwin-x64": () => require("./native/velopack_nodeffi_osx.node"),
|
||||||
|
|||||||
Reference in New Issue
Block a user