Summary
Standardize common_system's vcpkg.json to follow ecosystem conventions and resolve inconsistencies between documentation and manifest.
5W1H Specification
- Who: common_system maintainers
- What: Update vcpkg.json structure, fix C++ standard declaration, unify license
- Where:
vcpkg.json and README.md
- When: Q1 2025, Tier 1 priority
- Why:
- Enable vcpkg registry distribution
- Resolve document-code inconsistencies
- Establish template for other ecosystem systems
- How:
- Update vcpkg.json to standard format
- Fix C++ standard version (C++20)
- Unify license to BSD-3-Clause
- Remove runtime dependencies from default-features
Current Issues
vcpkg.json Problems
| Issue |
Current |
Expected |
| Name format |
common-system |
kcenon-common-system |
| C++ Standard |
"C++17" |
"C++20" (per README) |
| License |
"MIT" |
"BSD-3-Clause" (per README) |
| builtin-baseline |
String explanation |
Remove (invalid format) |
| default-features |
Includes gtest/benchmark |
Should be empty or testing-only |
Document-Code Inconsistency
README.md states:
common_system is a high-performance C++20 library
vcpkg.json states:
"description": "C++17 common utilities..."
Proposed vcpkg.json
{
"$schema": "https://raw.githubusercontent.com/microsoft/vcpkg-tool/main/docs/vcpkg.schema.json",
"name": "kcenon-common-system",
"version": "1.0.0",
"port-version": 0,
"description": "High-performance C++20 foundation library providing Result<T> pattern, interfaces, and common utilities",
"homepage": "https://github.com/kcenon/common_system",
"license": "BSD-3-Clause",
"supports": "!(uwp | xbox)",
"dependencies": [
{
"name": "fmt",
"version>=": "10.0.0"
}
],
"features": {
"testing": {
"description": "Build unit tests and benchmarks",
"dependencies": [
{ "name": "gtest", "features": ["gmock"] },
{ "name": "benchmark" }
]
}
}
}
Tasks
Acceptance Criteria
Parent Epic
Summary
Standardize common_system's vcpkg.json to follow ecosystem conventions and resolve inconsistencies between documentation and manifest.
5W1H Specification
vcpkg.jsonandREADME.mdCurrent Issues
vcpkg.json Problems
common-systemkcenon-common-systemDocument-Code Inconsistency
README.md states:
vcpkg.json states:
Proposed vcpkg.json
{ "$schema": "https://raw.githubusercontent.com/microsoft/vcpkg-tool/main/docs/vcpkg.schema.json", "name": "kcenon-common-system", "version": "1.0.0", "port-version": 0, "description": "High-performance C++20 foundation library providing Result<T> pattern, interfaces, and common utilities", "homepage": "https://github.com/kcenon/common_system", "license": "BSD-3-Clause", "supports": "!(uwp | xbox)", "dependencies": [ { "name": "fmt", "version>=": "10.0.0" } ], "features": { "testing": { "description": "Build unit tests and benchmarks", "dependencies": [ { "name": "gtest", "features": ["gmock"] }, { "name": "benchmark" } ] } } }Tasks
Acceptance Criteria
vcpkg install --manifest-modesucceedsParent Epic