Corrosion Rs Corrosion Versions Save

Marrying Rust and CMake - Easy Rust and C/C++ Integration!

v0.5

1 month ago

Breaking Changes

  • Dashes (-) in names of imported CMake library targets are now replaced with underscores (_). See issue #501 for details. Users on older Corrosion versions will experience the same change when using Rust 1.79 or newer. bin targets are not affected by this change.

v0.4.10

1 month ago

New features

  • corrosion_experimental_cbindgen() can now be called multiple times on the same Rust target, as long as the output header name differs. This may be useful to generate separate C and C++ bindings. #507
  • If corrosion_link_libraries() is called on a Rust static library target, then target_link_libraries() is called to propagate the dependencies to C/C++ consumers. Previously a warning was emitted in this case and the arguments ignored. #506

Fixes

  • Combine -framework flags on macos to avoid linker deduplication errors #455
  • corrosion_experimental_cbindgen() will now correctly use the package name, instead of assuming that the package and crate name are identical. (11e27c)
  • Set the AR_<triple> variable for cc-rs (except for msvc targets) #456
  • Fix hostbuild when cross-compiling to windows #477
  • Consider vworks executable suffix #504
  • corrosion_experimental_cbindgen() now forwards the Rust target-triple (e.g. aarch64-unknown-linux-gnu) to cbindgen via the TARGET environment variable. The hostbuild property is considered. #507
  • Fix linking errors with Rust >= 1.79 and -msvc targets. #511

v0.4.9

1 month ago

New Features

  • Automatically detect Rust target for OpenHarmony (#510).

Fixes

  • Make find_package portable (#509).

v0.4.8

2 months ago

Fixes

  • Fix an internal error when passing both the PROFILE and CRATES option to corrosion_import_crate() (#496).

v0.4.7

4 months ago

Release Notes

Fixes

  • The C/C++ compiler passed from corrosion to cc-rs can now be overridden by users setting CC_<target> (e.g. CC_x86_64-unknown-linux-gnu=/path/to/my-compiler) environment variables (#475).

v0.4.6

4 months ago

Release notes

Fixes

  • Fix building of hostbuild executables when cross-compiling from non-windows to windows targets. (Only with CMake >= 3.19).

v0.4.5

6 months ago

Release notes

Fixes

  • Fix hostbuild executables when cross-compiling on windows to non-windows targets (Only with CMake >= 3.19).

v0.4.4

8 months ago

Release notes

Fixes

  • Add chimera ([#445]) and unikraft ([#446]) to the list of known vendors

v0.4.3

9 months ago

Fixes

  • Fix the PROFILE option with CMake < 3.19 [#427]
  • Relax vendor parsing for espressif targets (removes warnings)
  • Fix an issue detecting required link libraries with Rust >= 1.71 when the cmake build directory is located in a Cargo workspace.

v0.4.2

10 months ago

Fixes

  • Fix an issue when cross-compiling with clang
  • Fix detecting required libraries with cargo 1.71

New features

  • Users can now set Rust_RESOLVE_RUSTUP_TOOLCHAINS to OFF, which will result in Corrosion not attempting to resolve rustc/cargo.