Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

build: Support many other buildsystems #28

Open
2 of 9 tasks
obiwac opened this issue Jun 24, 2023 · 0 comments
Open
2 of 9 tasks

build: Support many other buildsystems #28

obiwac opened this issue Jun 24, 2023 · 0 comments
Labels
feature New feature, yo

Comments

@obiwac
Copy link
Member

obiwac commented Jun 24, 2023

This is the comment about this in #50:

Already support building simple setups with other build systems, I'm notably thinking of Meson/Ninja as is quite popular nowadays, CMake, bmake/gmake (how can we automatically detect this? default to gmake and only use bmake if e.g. a FreeBSD port makefile is detected?), ./configure, Premake, Cargo (which will completely replace the RustC class), and Go.

And here is the pre-v0.2.0 comment:

It's annoying to have to look up how random buildsystem #61345 works when building a new project - it'd be much more ergonomic to just be able to bob build everything.

These are the buildsystems I'd like to support:

  • build.~wren~fl (naturally 😏)
  • Regular makefiles (how to differentiate between BSD & GNU make and run bmake/gmake accordingly?)
  • CMake
  • Meson/Ninja
  • QMake
  • autoconf
  • setup.py/pyproject.toml
  • cargo
  • npm (could npx next * be run automatically if detected to be a Next.js project?)

There's also the question of whether or not these should all be built in to Bob, or if there should be some kind of "plugin" system.
These plugins could be basic Wren scripts which have a check function to check whether or not a project matches its buildsystem, and then build/install/run functions for the various instructions.

This is now done using bsys' ("build systems"), and the check function is called probe. Plugins sound like too much work/fuss/complexity when, well, it's just a build system.

@obiwac obiwac added the feature New feature, yo label Jun 24, 2023
@obiwac obiwac mentioned this issue Nov 5, 2024
28 tasks
@obiwac obiwac mentioned this issue Jan 6, 2025
3 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature New feature, yo
Projects
None yet
Development

No branches or pull requests

1 participant