Skip to content

Jiboo/brief

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

brief

Hobby attempt at build system with dependency management, portable across systems, archs and languages. I kinda like Make, CMake, Ninja, Biicode and Gradle for Android, inspirations might come from them.

Revolves around a source code repository description:

  • General info (licenses, home and bug reporting pages, tags, ...)
  • How to build and test the repo through tasks
    • Try to get the less bash possible to be more portable, simplify build files and be more tool friendly.
      • OK, clearly doesn't respect unix philosophy, but might open new ways of doing things in build systems.
      • Projects should specify what to build, and not how to build.
    • Tasks can depend on other tasks (from this build file, it's dependencies, or system-wide tasks: exports).
    • Tasks rely on a toolchain and a set of inputs: sources, include dirs, build system exposed symbols...
      • Toolchains are language specific, but you could have in the same repo multiple tasks with different toolchains (useful for language bindings)
    • Tasks can have other optional subtasks, if their criteria are met, they get merged into their parent.
      • Experimental features, enabled through config file
      • Optional features, enabled if all it's dependencies are installed
      • Flavors, pretty much like Gradle, enabled through cli arguments (useful for debug/release builds or paid/free apps)
  • You can define custom toolchain, through plugins

About

wip hobby build system

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages