corrosion is a free, open source build & deployment project written in CMake and released under MIT. It has 1,498 GitHub stars, 150 forks and 71 open issues, and was last pushed 4 months ago. On this registry it ranks #53 of 81 tracked projects in Build & Deployment, with 5 head-to-head comparisons available.

Corrosion

Build Status Documentation License

Corrosion, formerly known as cmake-cargo, is a tool for integrating Rust into an existing CMake project. Corrosion can automatically import executables, static libraries, and dynamic libraries from a workspace or package manifest (Cargo.toml file).

Features

  • Automatic Import of Executable, Static, and Shared Libraries from Rust Crate
  • Easy Installation of Rust Executables
  • Trivially Link Rust Executables to C/C++ Libraries in Tree
  • Multi-Config Generator Support
  • Simple Cross-Compilation

Sample Usage with FetchContent

Using the CMake FetchContent module allows you to easily integrate corrosion into your build. Other methods including installing corrosion or adding it as a subdirectory are covered in the setup chapter of the corrosion documentation.

include(FetchContent)

FetchContent_Declare(
    Corrosion
    GIT_REPOSITORY https://github.com/corrosion-rs/corrosion.git
    GIT_TAG v0.6 # Optionally specify a commit hash, version tag or branch here
)
FetchContent_MakeAvailable(Corrosion)

# Import targets defined in a package or workspace manifest `Cargo.toml` file
corrosion_import_crate(MANIFEST_PATH rust-lib/Cargo.toml)

add_executable(your_cpp_bin main.cpp)
target_link_libraries(your_cpp_bin PUBLIC rust-lib)

Requirements

v0.6 Release

  • CMake 3.22 or newer

v0.5 Release (Critical backports only)

  • CMake 3.15 or newer. Some features may only be available on more recent CMake versions
  • Rust 1.46 or newer. Some platforms / features may require more recent Rust versions

Frequently asked questions

Is corrosion free to use?

corrosion is open source under the MIT licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does corrosion do?

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

What is corrosion written in?

corrosion is primarily written in CMake. Its source is publicly available at https://github.com/corrosion-rs/corrosion, and it has 1,498 GitHub stars.