Features

You can add features to your package with the [Features] section in the package manifest.

...
[Features]
Default = ["Docking"]
GLFW = "GlfwProject"
OpenGL = "OpenGLProject"
Docking = []
WindowAndRendering = ["GLFW", "OpenGL"]

Let's break this down.

First, the Default feature specifies the features that should be enabled by default.

The GLFW and OpenGL features are two separate projects inside the package (The projects are technically packages too, since they require a manifest). When these features are enabled by a dependent, those projects will be added to the workspace and as dependencies to the dependent.

The Docking feature maps to no project, and currently does nothing. In a future release all enabled features will emit a FEATURE_... pre-processor macro. The Docking feature would in that case emit a FEATURE_DOCKING macro.

The WindowAndRendering feature enables the GLFW and OpenGL features.

Last updated