bazel_rules_qt VS Bazel

Compare bazel_rules_qt vs Bazel and see what are their differences.

bazel_rules_qt

Bazel rules for Qt5 (by justbuchanan)

Bazel

a fast, scalable, multi-language and extensible build system (by bazelbuild)
Our great sponsors
  • Scout APM - Less time debugging, more time building
  • Mergify - Automate your Pull Request with Mergify
  • SonarQube - Static code analysis for 29 languages.
bazel_rules_qt Bazel
1 70
39 19,138
- 1.2%
2.7 10.0
6 months ago 3 days ago
Starlark Java
Apache License 2.0 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

Bazel

Posts with mentions or reviews of Bazel. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-07-25.
  • Better CI/CD caching with new-gen build systems
    5 projects | dev.to | 25 Jul 2022
    A build system is a program that orchestrates the execution of underlying tools such as compilers, code generators, test runners, linters and so on. Examples of build systems include the venerable Make, the JVM-centric Ant, Maven and Gradle, and newer systems such as Pants and Bazel (full disclosure: I am one of the maintainers of Pants).
  • Google's Carbon Language: An Alternative to C++ ?
    6 projects | dev.to | 24 Jul 2022
    Let's look at how to run carbon, so at this point you need to install LLVM and Google's build tool, Bazel.
  • CMAKE for Beginners
    2 projects | reddit.com/r/cpp_questions | 18 Jul 2022
    To add to that, I'd definitely recommend checking out https://bazel.build, Google's open source build platform. It's very intuitive in setting up a big project + tests in any popular language, including C++.
  • Dev Discussions: Everything You Need to Know about Monorepos with Juri Strumpflohner of Nrwl
    4 projects | dev.to | 13 Jul 2022
    Pioneered by tech giants like Google and Meta with tools like Bazel and Buck, monorepos are seeing widespread adoption across companies of all sizes and industries.
  • Dev Template. Build your entire project with one command 🚀
    3 projects | reddit.com/r/node | 9 Jul 2022
    Why not just use Bazel (https://bazel.build/) the Open Source version of Google’s internal build system Blaze? It’s super powerful, polyglot, supports (remote-) caching and is highly extensible.
  • How to convince management that something like Git is industry standard?
    10 projects | reddit.com/r/sysadmin | 5 Jul 2022
    Maybe for some projects, but Google most definitely uses Git (all Google projects).
  • 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

  • Is there any better options for building kotlin then gradle?
    1 project | reddit.com/r/Kotlin | 15 Jun 2022
  • Rust starlark interpreters purpose?
    1 project | reddit.com/r/bazel | 6 Jun 2022
    Secondly, let me check my current version of the Bazel source. The Java Starlark code (https://github.com/bazelbuild/bazel/tree/master/src/main/java/net/starlark/java) is about 22 KLoC (accoridng to "find src/main/java/net/starlark/java/ -name '*.java' | xargs wc -l"). The non-Starlark code (https://github.com/bazelbuild/bazel/tree/master/src/main/java/com/google/devtools) comes out to 217 KLoC. This is just main code that's (mostly) actually bundled into the binary: I'm ignoring tests, native wrappers, and a lot of tooling.
  • Tensorflow Compile Runs For A Long Time
    1 project | reddit.com/r/codehunter | 9 May 2022
    So I am trying to compile TensorFlow from the source (using a clone from their git repo from 2019-01-31). I installed Bazel from their shell script (https://github.com/bazelbuild/bazel/releases/download/0.21.0/bazel-0.21.0-installer-linux-x86_64.sh).

What are some alternatives?

When comparing bazel_rules_qt and Bazel you can also consider the following projects:

Buck - A fast build system that encourages the creation of small, reusable modules over a variety of platforms and languages.

Gradle - Adaptable, fast automation for all

meson - The Meson Build System

mediapipe - Cross-platform, customizable ML solutions for live and streaming media.

Apache Maven - Apache Maven core

ninja - a small build system with a focus on speed

skaffold - Easy and Repeatable Kubernetes Development

bazelisk - A user-friendly launcher for Bazel.

Rake - A make-like build utility for Ruby.

jib - 🏗 Build container images for your Java applications.

Flux - Successor: https://github.com/fluxcd/flux2 — The GitOps Kubernetes operator

pants - The Pantsbuild developer workflow system