diff --git a/.github/workflows/rust_linux.yml b/.github/workflows/rust_linux.yml index 5d0db30..f8bdf64 100644 --- a/.github/workflows/rust_linux.yml +++ b/.github/workflows/rust_linux.yml @@ -17,8 +17,6 @@ jobs: - uses: actions/checkout@v4 - name: Config Env run: rustup install nightly && rustup default nightly && rustup component add rustfmt - - name: Install Protoc - uses: arduino/setup-protoc@v2 - name: Build run: cd gdrust && cargo build --all - name: Build Release diff --git a/.github/workflows/rust_macos.yml b/.github/workflows/rust_macos.yml index 2bacded..db81abb 100644 --- a/.github/workflows/rust_macos.yml +++ b/.github/workflows/rust_macos.yml @@ -17,8 +17,6 @@ jobs: - uses: actions/checkout@v4 - name: Config Env run: rustup install nightly && rustup default nightly - - name: Install Protoc - uses: arduino/setup-protoc@v2 - name: Build run: cd gdrust && cargo build --all - name: Build Release diff --git a/.github/workflows/rust_windows.yml b/.github/workflows/rust_windows.yml index 325bcc1..04ec4cc 100644 --- a/.github/workflows/rust_windows.yml +++ b/.github/workflows/rust_windows.yml @@ -17,8 +17,6 @@ jobs: - uses: actions/checkout@v4 - name: Config Env run: rustup install nightly && rustup default nightly - - name: Install Protoc - uses: arduino/setup-protoc@v2 - name: Build run: cd gdrust && cargo build --all - name: Build Release diff --git a/gdrust/Cargo.lock b/gdrust/Cargo.lock index 5dc65d5..9b8d131 100644 --- a/gdrust/Cargo.lock +++ b/gdrust/Cargo.lock @@ -213,6 +213,15 @@ version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4b82cf0babdbd58558212896d1a4272303a57bdb245c2bf1147185fb45640e70" +[[package]] +name = "cmake" +version = "0.1.50" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a31c789563b815f77f4250caee12365734369f942439b7defd71e18a48197130" +dependencies = [ + "cc", +] + [[package]] name = "collection_literals" version = "1.0.1" @@ -892,6 +901,16 @@ dependencies = [ "prost", "prost-build", "prost-types", + "protobuf-src", +] + +[[package]] +name = "protobuf-src" +version = "2.0.1+26.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8ba1cfa4b9dc098926b8cce388bf434b93516db3ecf6e8b1a37eb643d733ee7" +dependencies = [ + "cmake", ] [[package]] diff --git a/gdrust/proto/Cargo.toml b/gdrust/proto/Cargo.toml index f38df2d..752fb4e 100644 --- a/gdrust/proto/Cargo.toml +++ b/gdrust/proto/Cargo.toml @@ -9,3 +9,4 @@ prost-types = { version = "0", optional = true } [build-dependencies] prost-build = "0" +protobuf-src = "2" diff --git a/gdrust/proto/build.rs b/gdrust/proto/build.rs index 4a30b3b..99ca1f3 100644 --- a/gdrust/proto/build.rs +++ b/gdrust/proto/build.rs @@ -1,4 +1,5 @@ fn main() { + std::env::set_var("PROTOC", protobuf_src::protoc()); println!("cargo:rerun-if-changed=proto"); prost_build::Config::new() .out_dir("src/proto") diff --git a/rust.gdextension b/rust.gdextension index 3d36541..c71126f 100644 --- a/rust.gdextension +++ b/rust.gdextension @@ -8,6 +8,8 @@ linux.debug.x86_64 = "res://gdrust/target/debug/libgdrust.so" linux.release.x86_64 = "res://gdrust/target/release/libgdrust.so" windows.debug.x86_64 = "res://gdrust/target/debug/gdrust.dll" windows.release.x86_64 = "res://gdrust/target/release/gdrust.dll" +#windows.debug.x86_64 = "res://gdrust/target/x86_64-pc-windows-gnu/debug/gdrust.dll" +#windows.release.x86_64 = "res://gdrust/target/x86_64-pc-windows-gnu/release/gdrust.dll" macos.debug = "res://gdrust/target/debug/libgdrust.dylib" macos.release = "res://gdrust/target/release/libgdrust.dylib" macos.debug.arm64 = "res://gdrust/target/debug/libgdrust.dylib"