Skip to content

Standardize vcpkg.json following ecosystem conventions #372

Description

@kcenon

Summary

Standardize vcpkg.json to follow the unified_system ecosystem conventions established in common_system.

Parent Epic

Part of kcenon/common_system#251 (Epic: vcpkg.json Standardization Across Unified System Ecosystem)

Current Issues

Field Current Expected
name network-system kcenon-network-system
version missing add
$schema missing add
homepage missing add
port-version missing add (0)
supports missing add "!(uwp | xbox)"
gtest, benchmark in deps default deps move to testing feature
kcenon-common-system missing add

Required Changes

  1. Package name: network-systemkcenon-network-system
  2. Add: version, $schema, homepage, port-version, supports
  3. Move: gtest, benchmark to testing feature
  4. Add: Ecosystem dependencies (kcenon-common-system, etc.)
  5. Restructure: Separate core vs optional dependencies

vcpkg.json Template

{
  "$schema": "https://raw.githubusercontent.com/microsoft/vcpkg-tool/main/docs/vcpkg.schema.json",
  "name": "kcenon-network-system",
  "version": "1.0.0",
  "port-version": 0,
  "description": "High-performance asynchronous network messaging library",
  "homepage": "https://github.com/kcenon/network_system",
  "license": "BSD-3-Clause",
  "supports": "!(uwp | xbox)",
  "dependencies": [
    "kcenon-common-system",
    "kcenon-thread-system",
    "kcenon-container-system",
    "asio",
    "fmt",
    "zlib"
  ],
  "features": {
    "testing": {
      "description": "Build unit tests and benchmarks",
      "dependencies": [
        { "name": "gtest", "features": ["gmock"] },
        "benchmark"
      ]
    },
    "ssl": {
      "description": "Enable SSL/TLS support",
      "dependencies": [
        { "name": "openssl", "version>=": "3.0.0" }
      ]
    }
  }
}

Acceptance Criteria

  • vcpkg.json follows ecosystem standard template
  • README reflects correct dependencies (including ecosystem deps)
  • OpenSSL version documented correctly
  • vcpkg manifest mode build succeeds

Metadata

Metadata

Assignees

Labels

architectureArchitectural changes and design

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions