Блог пользователя Gaurav_Dawra

Автор Gaurav_Dawra, история, 23 месяца назад, По-английски

Introducing... Beast — The Build System

Excited to announce Beast, a build system — a tool that helps you build your projects with ease and efficiency! Written primarily in C++, it provides you with one of the easiest and fastest ways to build your projects!

As a project grows larger, it becomes difficult to keep track of all the build and compilation procedures that need to be followed. So what should we do??? Not to worry! Beast helps you build your projects with minimal effort and high-efficiency, bringing more POWER to you. In addition, it is super easy to use and syntactically easy to understand, making it suitable for both: beginners and highly experienced programmers.

With power and speed in mind, Beast provides you with the power to focus on what you do best: Code!!!

Interested? Check out the official GitHub repository at: github.com/GauravDawra/Beast

You can take a look at the official documentation at: gauravdawra.github.io/Beast-docs/

Support and mailing list: groups.google.com/g/beast-build

Twitter: twitter.com/Beast_Build_

If you like the work, please considering giving the repository a Star!!

Looking forward to seeing more of Beast in the competitive programming community! Here's to welcoming Beast: the Build System for the next generation of programmers!!

Go ahead and Unleash the Beast!!!

  • Проголосовать: нравится
  • +1
  • Проголосовать: не нравится

»
23 месяца назад, # |
  Проголосовать: нравится -6 Проголосовать: не нравится

Really interested: why the blog is downvoted?

»
23 месяца назад, # |
Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

I looked at the documentation and saw that your build system is somehow similar to Make, as it only provides execution of the build graph, but doesn't do language specific things. So, what are the benefits compared to similar build systems, such as Ninja and Make?

If you want to build serious projects written on C++, you would typically need something more high-level: easy support for different compilers and platforms without compiler-specific boilerplate, linking static libraries in the correct order and maybe some external dependency management.

If it's just a project to learn some new things, it's OK, though.

  • »
    »
    23 месяца назад, # ^ |
    Rev. 2   Проголосовать: нравится -6 Проголосовать: не нравится

    Hey gepardo, actually Beast is a very new build system. The thing is, as you might know, Make and Ninja aren't very user-friendly. In fact, Ninja openly claims that it's build files are not supposed to be written by a user but only by another program (an emitter).

    However, beast is a very user-friendly tool. As you can see in its documentation, it has very pythonic syntax at several places. It even supports integers and strings. This is what makes it unique. Moreover, in regards to Make, Make has several inefficiencies when it comes to calculating timestamp for it's targets. Each time a build target is used, it recalculates it's time stamp. There are several other inefficiencies too...

    This is what Beast triumphs. This is where Beast is better than Make: user-friendliness. As for your suggestions regarding cross-platforming and compiler stuff... they are good suggestions for meta-build systems like CMake and stuff. Beast is a build system... something that works at the very base level. It is not supposed to have those features. But maybe something to look forward to in the future.

    Thanks for your analysis... definitely helped me with future ideas for Beast. I hope we can discuss this further in DMs!!