VEBuild.Cpp
1.0.3
dotnet add package VEBuild.Cpp --version 1.0.3
NuGet\Install-Package VEBuild.Cpp -Version 1.0.3
<PackageReference Include="VEBuild.Cpp" Version="1.0.3" />
<PackageVersion Include="VEBuild.Cpp" Version="1.0.3" />
<PackageReference Include="VEBuild.Cpp" />
paket add VEBuild.Cpp --version 1.0.3
#r "nuget: VEBuild.Cpp, 1.0.3"
#:package VEBuild.Cpp@1.0.3
#addin nuget:?package=VEBuild.Cpp&version=1.0.3
#tool nuget:?package=VEBuild.Cpp&version=1.0.3
ve.build.cpp
🚀 STATUS: v1.0.0 RC. Part of the VEBuild ecosystem.
ve.build.cpp provides the C++ language abstractions, configuration API, and source management logic for the VEBuild system.
It acts as the C++ Frontend: it knows what a C++ project looks like (sources, headers, modules, defines, optimization settings) but delegates the actual execution to a specific Toolchain provider.
⚠️ Important
This package does not contain a compiler. To build projects, you must install a Toolchain implementation package alongside this one:
- Windows (MSVC): Install
ve.build.msvc - Cross-Platform (Clang): (Coming soon)
📦 Installation
dotnet add package ve.build.cpp
⚡ Usage
This package extends the ProjectBuilder with methods to define C++ artifacts and compilation rules.
Basic Setup
using ve.build.core;
using ve.build.cpp.cpp; // Import extensions
return await new HostBuilder()
.project("my_library", p => p
// Define source directory (recursive scan)
.Sources("src")
// Add Preprocessor Definitions
.Define("MY_LIB_EXPORTS")
.Define("VERSION", "1.0.0")
)
.useMsvcToolchain() // Required toolchain (from ve.build.msvc)
.build()
.run(args);
Advanced Compiler Configuration
You can fine-tune compilation options via the configuration lambda in .Sources(). This API is strongly typed and toolchain-agnostic.
.project("game_engine", p => p
.Sources("src", config => config
// Optimization & Code Gen
.optimization(OptimizationLevel.SPEED)
.favorOptimization(FavorOptimization.SPEED)
.inlineLevel(InlineLevel.FORCE)
.linkTimeCodeGeneration(true)
// Language Standard
.languageStandard(LanguageStandard.CppLatest) // C++20/23
.rtti(false) // Disable RTTI
.exceptionHandling(ExceptionHandling.NONE) // Disable Exceptions
// Security & Debugging
.addressSanitizer(true) // Enable ASan
.securityCheckers(true) // /GS
.stackCheck(true)
// Concurrency
.openMP(false)
// Math
.floatModel(FloatModel.FAST)
.fastTranscendentals(true)
)
)
📂 Supported File Types
The package automatically scans and categorizes files based on extensions:
- C++ Source:
.cpp,.cxx,.cc,.c,.c++ - C++ Modules (C++20):
.ixx,.mxx(Automatically scanned for dependencies) - Headers:
.h,.hpp,.hxx,.hh,.inl
🔗 Architecture
This package provides the following core components:
ClExtension: Extends the build graph to handle scanning, compiling, and dependency tracking for C++ files.IClConfigurator: A fluent interface for configuring compiler flags abstractly.- Dependency Scanner: Logic to parse C++20
import/exportstatements and#includedirectives to build a precise DAG (Directed Acyclic Graph).
License
© 2025 VassalStudio. All rights reserved.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- VEBuild.Core (>= 1.0.3)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on VEBuild.Cpp:
| Package | Downloads |
|---|---|
|
VEBuild.Cpp.Msvc
VEBuild is a modular .NET build system that composes projects via declarative tasks, extensions, and platforms. This repo contains the core abstractions and a sandbox used to validate the architecture. |
|
|
VEBuild.VcxprojGenerator
VEBuild is a modular .NET build system that composes projects via declarative tasks, extensions, and platforms. This repo contains the core abstractions and a sandbox used to validate the architecture. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.3 | 133 | 5/29/2026 |
| 1.0.2.3 | 140 | 5/22/2026 |
| 1.0.2.2 | 150 | 5/22/2026 |
| 1.0.2.1 | 125 | 5/22/2026 |
| 1.0.2 | 129 | 5/22/2026 |
| 1.0.1.2 | 149 | 3/6/2026 |
| 1.0.1.1 | 144 | 3/6/2026 |
| 1.0.1 | 147 | 3/3/2026 |
| 1.0.0.7-rc | 144 | 3/2/2026 |
| 1.0.0.6-rc | 140 | 2/26/2026 |
| 1.0.0.5-rc | 196 | 2/25/2026 |
| 1.0.0.4-rc | 181 | 2/17/2026 |
| 1.0.0.3-rc | 191 | 12/26/2025 |
| 1.0.0.1-rc | 222 | 12/25/2025 |
| 1.0.0-rc | 225 | 11/27/2025 |