

Bazel vs cmake install#
The minimum-effort solution is to just tell the user it's their problem, and they need to install it globally so the linker can find it. The original problem isn't so much an issue with CMake specifically, as it is a problem with getting and linking non-Rust dependencies. So don’t we still have the original problem? The solution that seems the most effective would be to install CMake with Rust, though I have no idea how practical that would be to do (or if CMake is even a common enough dependency to justify doing so).Īny thoughts on this issue? Is this something that other people have run into? Or am I making I a fuss about a minor inconvenience? Never have crates depend on a C/C++ library that uses CMake (even more wildly impractical than porting CMake to Rust).Install CMake with Rust, similar to how the Visual Studio Build Tools get install automatically when using the MSVC toolchain on Windows.Create a Rust port of CMake that can be built and run by Cargo without needing an external dependency (seems like a wildly impractical solution).Provide the cmake crate with some way to automatically install CMake on dev machines.Include build steps in the README that tell people to install CMake before building (not ideal, cargo build is the universal build process for Rust projects and any deviation makes it harder for new devs to get started).Build my crate in Docker, that way the entire build environment can be controlled (not actually a solution for me since I need to be able to build for Windows).But this is an issue that creates a barrier (however small) for new Rust developers, and I'd like to keep the on-boarding process as simple as possible for new developers on my projects. Ultimately this is a papercut: I could just install CMake and move on. Including CMake (or any third party dependency that isn't controlled by Cargo) throws a wrench in this, because now my project depends on something I need to install manually on each new development machine. Being able to add a single line to my Cargo.toml to pull in a new dependency is great, and listing all dependencies in one file guarantees that I can always build my project on a new development machine. In trying to use cargo-tree to investigate which crate was pulling in CMake as a dependency, I found that cargo-tree also depends on CMake!Īs a Rust developer, this is frustrating to experience because one of the things that makes Rust development so enjoyable is how well Cargo works as a self-contained build tool. I ran into this when trying to run one of the examples for amethyst.

Bazel vs cmake windows#
I don't have CMake installed on my Windows machine by default, so any crate that needs CMake, directly or indirectly, won't compile for me. Look at SonarQube documentation to know the expected XML format.I've been running into some frustration lately with crates that require CMake installed in order to compile. When I tried to use this coverage report in sonar using verageReportPaths, it shows 19:20:50.743 INFO: Sensor Generic Coverage Reportġ9:20:50.743 INFO: Parsing /builds/repo/bazel-out/_coverage/_coverage_report.datġ9:20:50.813 INFO: -ġ9:20:50.951 ERROR: Error during SonarScanner executionĮrror during parsing of the generic coverage report '/builds/nsx-allspark_users/m7/envoy-filters/bazel-out/_coverage/_coverage_report.dat'. It looks like Bazel generates coverage report in bazel-out/_coverage/_coverage_report.dat.
