![]() ![]() And it's used by Google to undertake huge build processes, so it's guaranteed to be fast! Bazel loses a few points here for the extra complexity when cross-compiling (although when is cross-compiling ever easy!).Īlthough never tested myself, Bazel claims to cache data, optimize the dependency analysis and perform parallel execution on the builds. One disappointment is there is no install functionality.Īlthough Linux, macOS and Windows are all supported, I have seen reports of slow build times in macOS and Windows.īazel has a clean and simple syntax, using WORKSPACE and BUILD files (), a language very similar to Python. Bazel will automatically download dependencies as needed. If you are considering it for a completely new project, I strongly recommend you consider some of the alternatives! Bazelīazel is great a building C/C++ packages.īazel does have support for packages, in the sense that projects can depend on targets from other parts of the filesystem or from the internet. If you are thinking of using Scons or Makefiles, please make sure you are doing so for a good reason! Perhaps it’s because it has to integrate with a system that already uses these tools, or that is what your company prefers. embedded targets), want something mature and well-known, or have a complicated build structure, have a look at CMake by it’s own. ![]() ![]() If you are thinking about cross-compiling (e.g. If you just are after a modern, powerful build system for typical build situations, have a look at Bazel. If you want a full end-to-end package manager and build system setup, have a look at Conan with CMake. In each folder, there is a build.sh bash script which should automatically run the build on a Linux system, provided you have the build system installed. The GitHub repository mbedded-ninja/CppBuildSystemReview contains a example/demo project for each build/packaging system mentioned below (one per folder). For some of the other build systems, upon researching/testing for this comparison was the first time I had ever used or sometimes even heard of them. DISCLAIMER: I have had much experience with CMake and Makefiles, and moderate experience with autotools. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |