id = "conan" name = "Conan" homepage = "https://conan.io" description = "A decentralized, open-source C and C++ package manager." executables = ["conan"] [dotfiles] # Conan's official docs identify ~/.conan2 as the default Conan home and list # its remotes, profiles, settings, extensions and hooks as user configuration. # The package cache is deliberately excluded; credentials.json is secret. # https://docs.conan.io/2/reference/commands/config.html # https://docs.conan.io/2/reference/config_files/credentials.html paths = [ "~/.conan2/global.conf", "~/.conan2/profiles/", "~/.conan2/remotes.json", "~/.conan2/settings.yml", "~/.conan2/extensions/", "~/.conan2/hooks/", ] exclude = [ "~/.conan2/p/", "~/.conan2/download_cache/", "~/.conan2/.conan/", "~/.conan2/db.sqlite3", ] secret = ["~/.conan2/credentials.json"] [commands] format = 1 label = "Conan" description = "Install a project's dependencies with `conan install`. Lockfile, deployer, per-context (:build/:host) and output-format options are left out." quality = "ai-draft" parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = true, short_bundles = false } [[commands.subcommand]] path = ["install"] label = "Install dependencies" [[commands.subcommand.source]] id = "help" kind = "help" url = "https://docs.conan.io/2/reference/commands/install.html" revision = "conan 2.33.0" evidence = """ path Path to a folder containing a recipe (conanfile.py or -b BUILD, --build BUILD --requires REQUIRES Directly provide requires instead of a conanfile --tool-requires TOOL_REQUIRES -g GENERATOR, --generator GENERATOR -of OUTPUT_FOLDER, --output-folder OUTPUT_FOLDER -r REMOTE, --remote REMOTE -nr, --no-remote Do not use remote, resolve exclusively in the cache -u [UPDATE], --update [UPDATE] -pr PROFILE, --profile PROFILE -o OPTIONS, --options OPTIONS -s SETTINGS, --settings SETTINGS -c CONF, --conf CONF Apply the specified conf. By default, or if specifying """ [[commands.subcommand.field]] id = "path" label = "Recipe path" description = "Folder with conanfile.py/txt or a recipe file. Defaults to the current directory." type = "path" position = 0 path = { kind = "any", role = "input" } sources = ["help"] [[commands.subcommand.field]] id = "build" label = "Build from source" description = "Pattern such as missing, never or a package name." type = "string" option = ["--build", "-b"] multiple = true suggestions = [{ value = "missing", label = "missing" }, { value = "never", label = "never" }, { value = "*", label = "everything" }] sources = ["help"] [[commands.subcommand.field]] id = "requires" label = "Requires (no conanfile)" type = "string" option = ["--requires"] multiple = true sources = ["help"] [[commands.subcommand.field]] id = "tool_requires" label = "Tool requires" type = "string" option = ["--tool-requires"] multiple = true sources = ["help"] [[commands.subcommand.field]] id = "profile" label = "Profile" type = "string" option = ["--profile", "-pr"] sources = ["help"] [[commands.subcommand.field]] id = "settings" label = "Settings (name=value)" type = "string" option = ["--settings", "-s"] multiple = true sources = ["help"] [[commands.subcommand.field]] id = "options" label = "Options (pkg:opt=value)" type = "string" option = ["--options", "-o"] multiple = true sources = ["help"] [[commands.subcommand.field]] id = "conf" label = "Conf (name=value)" type = "string" option = ["--conf", "-c"] multiple = true sources = ["help"] [[commands.subcommand.field]] id = "generator" label = "Generator" type = "string" option = ["--generator", "-g"] multiple = true suggestions = [{ value = "CMakeDeps", label = "CMakeDeps" }, { value = "CMakeToolchain", label = "CMakeToolchain" }] sources = ["help"] [[commands.subcommand.field]] id = "output_folder" label = "Output folder" type = "path" option = ["--output-folder", "-of"] path = { kind = "directory", role = "output" } sources = ["help"] [[commands.subcommand.field]] id = "remote" label = "Remote" type = "string" option = ["--remote", "-r"] sources = ["help"] [[commands.subcommand.field]] id = "no_remote" label = "Resolve from cache only" type = "boolean" option = ["--no-remote", "-nr"] sources = ["help"] [[commands.subcommand.task]] id = "install-missing" label = "Install, build missing" set = { build = ["missing"] } fields = ["path", "build", "profile", "settings", "output_folder"] required = [] [[commands.subcommand.task]] id = "install-requires" label = "Install a package" fields = ["requires", "generator", "output_folder", "build"] required = ["requires"] [[commands.subcommand.group]] id = "basic" label = "Basic" fields = ["path", "build", "requires", "profile", "settings", "options", "output_folder"] [[commands.subcommand.group]] id = "advanced" label = "Advanced" fields = ["tool_requires", "conf", "generator", "remote", "no_remote"]