conan workspace

$ conan workspace [-h] {install} ...

Manages a workspace (a set of packages consumed from the user workspace that belongs to the same project).

Use this command to manage a Conan workspace, use the subcommand ‘install’ to create the workspace from a file.

positional arguments:
  {install}   sub-command help
    install   same as a "conan install" command but using the workspace data
              from the file. If no file is provided, it will look for a file
              named "conanws.yml"

optional arguments:
  -h, --help  show this help message and exit

conan workspace install

$ conan workspace install [-h] [-b [BUILD]] [-e ENV] [-o OPTIONS]
                          [-pr PROFILE] [-r REMOTE] [-s SETTINGS] [-u]
                          [-if INSTALL_FOLDER]
positional arguments:
path                    path to workspace definition file (it will look for a
                        "conanws.yml" inside if a directory is given)

optional arguments:
-h, --help              show this help message and exit
-b [BUILD], --build [BUILD]
                        Optional, use it to choose if you want to build from
                        sources: --build Build all from sources, do not use
                        binary packages. --build=never Never build, use binary
                        packages or fail if a binary package is not found.
                        --build=missing Build from code if a binary package is
                        not found. --build=outdated Build from code if the
                        binary is not built with the current recipe or when
                        missing binary package. --build=[pattern] Build always
                        these packages from source, but never build the
                        others. Allows multiple --build parameters. 'pattern'
                        is a fnmatch file pattern of a package name. Default
                        behavior: If you don't specify anything, it will be
                        similar to '--build=never', but package recipes can
                        override it with their 'build_policy' attribute in the
-e ENV, --env ENV     Environment variables that will be set during the
                        package build, -e CXX=/usr/bin/clang++
-o OPTIONS, --options OPTIONS
                        Define options values, e.g., -o Pkg:with_qt=true
-pr PROFILE, --profile PROFILE
                        Apply the specified profile to the install command
-r REMOTE, --remote REMOTE
                        Look in the specified remote server
-s SETTINGS, --settings SETTINGS
                        Settings to build the package, overwriting the
                        defaults. e.g., -s compiler=gcc
-u, --update            Check updates exist from upstream remotes
                        Folder where the workspace files will be created
                        (default to current working directory)

Note that these arguments, like settings and options mostly apply to the dependencies, but those packages that are defined as editable in the workspace are in the user space. Those packages won’t be built by the command (even with --build arguments), as they are built locally. It is the responsibility of the editables layout to match the settings (typically parameterizing the layout with settings and options)