id = "qbs" name = "Qbs" homepage = "https://qbs.io/" description = "An easy-to-use, cross-platform build tool" executables = ["qbs"] [dotfiles] # Qbs documents the default user settings directories for each platform: # Linux ~/.config/QtProject/qbs, Windows %APPDATA%/QtProject/qbs, and macOS # ~/Library/Preferences/qbs. # https://qbs.io/docs/cli-config/ paths = [ "[configHome]/QtProject/qbs/", "%APPDATA%/QtProject/qbs/", "~/Library/Preferences/qbs/", ] secret = [] [commands] format = 1 label = "Qbs" description = "Build a Qbs project. Pass configuration and property overrides (config:debug, cpp.optimization:none) in the extra arguments field. Other qbs commands are left out." quality = "ai-draft" parser = { end_of_options = "--", interleave = "permute", long_equals = false, short_attached = false, short_bundles = false } [[commands.subcommand]] path = ["build"] label = "Build a project" description = "Build products in one or more configurations." [[commands.subcommand.source]] id = "manual" kind = "manual" url = "https://doc.qt.io/qbs/cli-build.html" revision = "Qbs 3.1.0" evidence = """ qbs build [options] [[config:configuration-name] [property:value] ...] --all-products --build-directory|-d --dry-run|-n [--file|-f ] --jobs|-j --keep-going|-k --less-verbose|-q --log-level Possible values of are: error warning info (default value) debug trace --more-verbose|-v --no-install --products|-p [,...] --show-progress --clean-install-root """ [[commands.subcommand.field]] id = "file" label = "Project file" type = "path" option = ["--file", "-f"] path = { kind = "any", role = "input", must_exist = true } sources = ["manual"] [[commands.subcommand.field]] id = "build_directory" label = "Build directory" type = "path" option = ["--build-directory", "-d"] path = { kind = "directory", role = "output", must_exist = false } sources = ["manual"] [[commands.subcommand.field]] id = "products" label = "Products" description = "Comma-separated product names." type = "string" option = ["--products", "-p"] sources = ["manual"] [[commands.subcommand.field]] id = "jobs" label = "Concurrent jobs" type = "integer" option = ["--jobs", "-j"] sources = ["manual"] [[commands.subcommand.field]] id = "all_products" label = "All products" type = "boolean" option = ["--all-products"] sources = ["manual"] [[commands.subcommand.field]] id = "keep_going" label = "Keep going on errors" type = "boolean" option = ["--keep-going", "-k"] sources = ["manual"] [[commands.subcommand.field]] id = "dry_run" label = "Dry run" type = "boolean" option = ["--dry-run", "-n"] sources = ["manual"] [[commands.subcommand.field]] id = "no_install" label = "Skip install" type = "boolean" option = ["--no-install"] sources = ["manual"] [[commands.subcommand.field]] id = "clean_install_root" label = "Clean install root first" type = "boolean" option = ["--clean-install-root"] effect = "delete" sources = ["manual"] [[commands.subcommand.field]] id = "show_progress" label = "Show progress" type = "boolean" option = ["--show-progress"] sources = ["manual"] [[commands.subcommand.field]] id = "log_level" label = "Log level" type = "enum" option = ["--log-level"] choices = [{ value = "error", label = "Error" }, { value = "warning", label = "Warning" }, { value = "info", label = "Info" }, { value = "debug", label = "Debug" }, { value = "trace", label = "Trace" }] sources = ["manual"] [[commands.subcommand.field]] id = "more_verbose" label = "More verbose" type = "count" option = ["--more-verbose", "-v"] sources = ["manual"] [[commands.subcommand.field]] id = "overrides" label = "Configuration and property overrides" description = "For example config:debug cpp.optimization:none." type = "string" position = 0 multiple = true sources = ["manual"] [[commands.subcommand.task]] id = "build" label = "Build" fields = ["file", "build_directory", "products", "jobs", "overrides"] required = [] [[commands.subcommand.task]] id = "debug-build" label = "Debug build" set = { overrides = ["config:debug"] } fields = ["file", "build_directory", "jobs", "overrides"] required = [] [[commands.subcommand.group]] id = "basic" label = "Basic" fields = ["file", "build_directory", "products", "jobs", "overrides"] [[commands.subcommand.group]] id = "advanced" label = "Advanced" fields = ["all_products", "keep_going", "dry_run", "no_install", "clean_install_root", "show_progress", "log_level", "more_verbose"]