bazel_rules_qt VS llvm-project

Compare bazel_rules_qt vs llvm-project and see what are their differences.

bazel_rules_qt

Bazel rules for Qt5 (by justbuchanan)

llvm-project

The LLVM Project is a collection of modular and reusable compiler and toolchain technologies. Note: the repository does not accept github pull requests at this moment. Please submit your patches at http://reviews.llvm.org. (by llvm)
Our great sponsors
  • Scout APM - Less time debugging, more time building
  • SonarQube - Static code analysis for 29 languages.
  • SaaSHub - Software Alternatives and Reviews
bazel_rules_qt llvm-project
1 185
39 15,308
- 4.8%
2.7 10.0
6 months ago 2 days ago
Starlark C++
Apache License 2.0 -
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

bazel_rules_qt

Posts with mentions or reviews of bazel_rules_qt. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-06-23.
  • Incremental Builds for Haskell with Bazel
    7 projects | news.ycombinator.com | 23 Jun 2022
    I migrated a mid-size polyglot project from Makefiles to Bazel and C++ was a large component of the project.

    Some obstacles:

    1. Building with QT5 MOC & UI files. There is a great library[0] for it but it has hardcoded paths to the QT binaries and header files assuming a system-wide installation. I had to patch the rule to point to our QT location. Then it worked fine.

    2. There is no rule to build a fully static library[1]. Since we were shipping a static library in our Makefile system, that was somewhat annoying.

    3. We were using system links like `$PROJECT_ROOT/links/GCC/vX.Y.Z/ -> /opt/gcc/...` to point to all the build tools, but these didn't work in Bazel I think because it required absolute paths for any binaries it calls. We ended up putting them in a .bazelrc but we would need a different one for Windows and Linux.

    4. Not good integration with IDEs

    Ultimately we did not keep using Bazel because we were building Python binaries and py_binary was too slow on Windows. And we didn't have enough time to write a PyInstaller rule.

    [0]: https://github.com/justbuchanan/bazel_rules_qt

    [1]: https://github.com/bazelbuild/bazel/issues/1920

llvm-project

Posts with mentions or reviews of llvm-project. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-08-05.

What are some alternatives?

When comparing bazel_rules_qt and llvm-project you can also consider the following projects:

zig - General-purpose programming language and toolchain for maintaining robust, optimal, and reusable software.

gcc

SDL - Simple Directmedia Layer

Lark - Lark is a parsing toolkit for Python, built with a focus on ergonomics, performance and modularity.

cosmopolitan - build-once run-anywhere c library

Graal - GraalVM: Run Programs Faster Anywhere :rocket:

skia - Skia is a complete 2D graphic library for drawing Text, Geometries, and Images.

STL - MSVC's implementation of the C++ Standard Library.

PyInstaller - Freeze (package) Python programs into stand-alone executables

avr-hal - embedded-hal abstractions for AVR microcontrollers

dmd - dmd D Programming Language compiler

asmble - Compile WebAssembly to JVM and other WASM tools