Bazel vs qmake
Bazel
bazel.buildqmake
doc.qt.ioSide by side
| Figure | Bazel | qmake |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Windows | Yes | Yes |
| macOS | Yes | Yes |
| Linux | Yes | Yes |
| iOS | — | Yes |
| Plans published | 1 | 1 |
| Spec score · Build Automation Software | 8.8 (#3) | 7.6 (#24) |
| Mobile targets | Bazel can build software for Android and iOS. | The platform notes describe qmake features for iOS, including creating universal binaries, frameworks, and bundles. |
| Purpose | Bazel is an open-source tool that automates software builds and tests. | qmake manages the build process for applications, libraries, and other components by expanding project files into Makefiles. |
Plans
In their own words
Bazel
Bazel is a free, open-source tool for automating software builds and tests across languages and platforms. Projects define targets in BUILD files using Starlark, which can also be used to create custom rules and macros. Bazel caches prior work and rebuilds what needs to change, while running tasks in parallel. It supports languages including C++, Java, Kotlin, Python, Go, and Rust, with outputs for desktop, server, Android, and iOS. Bazel runs on Linux, macOS, and Windows, and the documentation describes builds with 100,000 or more source files across multiple repositories. Sandboxing can make builds and tests more hermetic, and failures return a non-zero exit code for basic CI integration. Teams can share outputs through a remote cache, but must select and maintain its backend and secure access because it can contain binaries. IDE options include plugins for IntelliJ, Android Studio, CLion, and Visual Studio Code, plus Xcode integration. Bazel is not well suited to uncached deployment steps that change cloud configuration.
qmake
qmake manages builds for applications, libraries and other components by turning project files into Makefiles. Its `.pro` files can define source files, configuration, libraries and include paths. It supplies build rules for Qt's moc and uic tools, with templates for applications, libraries and plugins. Projects can specify third-party libraries, and qmake can use pkg-config for supported libraries such as D-Bus and ogg. It can generate Microsoft Visual Studio project files and, on macOS, Xcode project files. Platform notes cover iOS universal binaries, frameworks and bundles. In Qt 6, qmake remains supported for building Qt applications, but cannot compile custom Qt plugins or libraries that rely on Qt 5 build-system internals. Qt warns that building an untrusted project can execute code on the build machine. The Qt Community Edition is free under LGPL or GPL terms, with source-code obligations and limited access to some Qt capabilities.