qobs

command module
v0.0.0-...-40f31e6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 26, 2025 License: Unlicense Imports: 1 Imported by: 0

README

Quite OK Build System

Qobs is a C/C++ build system, package manager and project file generator.

Qobs's build configuration format uses TOML, which is easy to read and might look familiar to those who used Cargo:

[package]
name = "hello-world"
description = "Hi Qobs!"
authors = ["AzureDiamond"]

[target]
sources = ["src/**.cpp", "src/**.cc", "src/**.c"]
defines = { GRAPHICS = "1" }

[target.'target_os == "windows"']
defines = { WINDOWS = "1" }
links = ["opengl32"] # link with OpenGL on windows

[target.'target_os == "linux"']
defines = { LINUX = "1" }
links = ["m"] # link with math library

# if you are on Windows, GRAPHICS and WINDOWS will be defined

[profile.debug]
opt-level = 1 # enable some optimizations even in debug

# these will get fetched, built, linked, and included automatically:
[dependencies]
libhelloworld = "gh:zeozeozeo/libhelloworld"
# you can now #include <helloworld.h> in your program

(see more examples)

The CLI is intuitive:

$ qobs new hello-world
Created file: hello-world/Qobs.toml
Created file: hello-world/src/main.c
Created file: hello-world/.gitignore

$ cd hello-world
$ qobs build .  # or just "qobs ."
...
$ qobs run .
qobs: no work to do.
Hello, World!

It currently supports the following build systems:

  • Its own. Qobs can build the code in parallel itself, without any project generator. It has built-in support for incremental compilation.
  • Ninja, use with -g ninja
  • Visual Studio 17 2022 (.vcxproj and .sln files), use with -g vs2022

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
qobs clean path
qobs clean path
internal
msg

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL