This file is generated from the CMake component registrations. Run
python3 scripts/generate_component_catalog.py after changing module
metadata, or use --check to verify that the committed catalogue is current.
The graph contains 41 physical modules and 92 direct production dependency edges.
For each row, the component name and representative public header form a minimal consumer example using the template below:
set(SHARP_RUNTIME_COMPONENTS <Component>)
set(SHARP_RUNTIME_BUILD_TESTS OFF CACHE BOOL "" FORCE)
add_subdirectory(sharp-runtime)
target_link_libraries(MyApp PRIVATE SharpRuntime::<Component>)The corresponding source includes the row's representative header. Consumers request only public dependencies; private and test-only dependencies are shown for maintainers and are not part of the consumer include surface.
| Component | Owner | Kind | Public dependencies | Private dependencies | Test-only dependencies | External/platform dependency | Representative public header |
|---|---|---|---|---|---|---|---|
Core.Base |
modules/core |
static | — | — | Collections.Core, Globalization, IO, Runtime, Text, Threading, Threading.Tasks, TimeZone, Uri |
— | SharpRuntime/Experimental/Property.hpp |
Console |
modules/console |
static | Core.Base |
— | — | — | System/Console.hpp |
Uri |
modules/uri |
static | Core.Base |
— | — | — | System/Uri.hpp |
TimeZone |
modules/time-zone |
static | Core.Base |
— | — | — | System/InvalidTimeZoneException.hpp |
Buffers |
modules/buffers |
interface | Core.Base |
— | — | — | System/Buffers/ArrayBufferWriter.hpp |
Collections.Core |
modules/collections |
interface | Core.Base |
— | IO, Text |
— | System/Collections/ArrayList.hpp |
Collections.Blocking |
modules/collections-blocking |
interface | Collections.Core, Core.Base, Threading |
— | — | — | System/Collections/Concurrent/BlockingCollection.hpp |
Collections.Async |
modules/collections-async |
interface | Threading |
— | — | — | System/Collections/Generic/IAsyncEnumerable.hpp |
Collections.ObjectModel |
modules/collections-object-model |
interface | Collections.Core, ComponentModel, Core.Base |
— | — | — | System/Collections/ObjectModel/ObservableCollection.hpp |
ComponentModel |
modules/component-model |
interface | Core.Base |
— | — | — | System/ComponentModel/AsyncCompletedEventArgs.hpp |
Diagnostics |
modules/diagnostics |
static | Core.Base |
— | — | — | System/Diagnostics/CodeAnalysis/CodeAnalysisAttributes.hpp |
Globalization |
modules/globalization |
static | Core.Base |
— | — | — | System/Globalization/Calendar.hpp |
Numerics |
modules/numerics |
static | Buffers, Collections.Core, Core.Base |
— | — | — | System/Numerics/BigInteger.hpp |
Runtime |
modules/runtime |
static | Collections.Core, Core.Base |
— | — | — | System/Runtime/AmbiguousImplementationException.hpp |
Text |
modules/text |
static | Buffers, Core.Base |
— | — | — | System/Text/ASCIIEncoding.hpp |
Text.Json |
modules/text-json |
static | Core.Base, Text |
Collections.Core |
Collections.Core |
— | System/Text/Json/JsonCommentHandling.hpp |
Text.RegularExpressions |
modules/text-regular-expressions |
interface | Core.Base |
— | — | — | System/Text/RegularExpressions/Capture.hpp |
Threading |
modules/threading |
static | Core.Base, TimeZone |
— | — | — | System/AsyncCallback.hpp |
Threading.Tasks |
modules/threading-tasks |
static | Core.Base, Threading |
— | — | — | System/IAsyncDisposable.hpp |
Threading.Channels |
modules/threading-channels |
interface | Core.Base, Threading.Tasks |
— | — | — | System/Threading/Channels/BoundedChannelFullMode.hpp |
Timers |
modules/timers |
static | ComponentModel, Core.Base |
Threading |
— | — | System/Timers/ElapsedEventArgs.hpp |
IO |
modules/io |
static | Core.Base, Uri |
TimeZone |
IO.IsolatedStorage, TimeZone |
— | System/BinaryData.hpp |
IO.Compression |
modules/io-compression |
static | Buffers, Core.Base, IO |
— | — | ZLIB (private) | System/IO/Compression/CompressionArgumentValidation.hpp |
IO.Compression.Zip |
modules/io-compression-zip |
static | IO |
Core.Base |
— | vendored miniz (private) | System/IO/Compression/CompressionLevel.hpp |
IO.Hashing |
modules/io-hashing |
static | Core.Base, IO |
— | — | — | System/IO/Hashing/Adler32.hpp |
Storage |
modules/storage |
static | — | — | — | parent-provided SDL3 on Android (private) | SharpRuntime/Storage/StoragePaths.hpp |
IO.IsolatedStorage |
modules/io-isolated-storage |
static | Core.Base, IO |
Storage |
— | — | System/IO/IsolatedStorage/IsolatedStorage.hpp |
Net |
modules/net |
static | Collections.Core, ComponentModel, Core.Base, Uri |
— | — | ws2_32 on Windows (private) |
System/Net/Cookie.hpp |
Net.Sockets |
modules/net-sockets |
static | Core.Base, IO, Net, Threading.Tasks |
— | — | — | System/Net/Sockets/IPPacketInformation.hpp |
Net.Http |
modules/net-http |
static | Core.Base, IO, Net, Threading, Threading.Tasks |
Uri |
Net.Sockets |
— | System/Net/Http/ByteArrayContent.hpp |
Net.Http.Headers |
modules/net-http-headers |
static | Collections.Core, Core.Base, Uri |
Net |
— | — | System/Net/Http/Headers/AuthenticationHeaderValue.hpp |
Net.Http.Json |
modules/net-http-json |
interface | Core.Base, Net.Http, Text.Json, Threading.Tasks |
— | Net.Sockets |
— | System/Net/Http/Json/HttpClientJsonExtensions.hpp |
Net.Mime |
modules/net-mime |
static | Collections.Core, Core.Base |
— | — | — | System/Net/Mime/ContentType.hpp |
Net.NetworkInformation |
modules/net-network-information |
static | ComponentModel, Core.Base, Net, Threading.Tasks |
— | — | — | System/Net/NetworkInformation/IPStatus.hpp |
Net.Security |
modules/net-security |
interface | Core.Base |
— | — | — | System/Net/Security/AuthenticationLevel.hpp |
Net.WebSockets |
modules/net-websockets |
static | ComponentModel, Core.Base, Net, Net.Sockets, Threading, Threading.Tasks, Uri |
— | — | — | System/Net/WebSockets/ClientWebSocket.hpp |
Security |
modules/security |
interface | Core.Base |
— | — | — | System/Security/Authentication/AuthenticationException.hpp |
Security.Cryptography |
modules/security-cryptography |
static | Core.Base |
— | — | — | System/Security/Cryptography/AuthenticationTagMismatchException.hpp |
Security.Cryptography.Random |
modules/security-cryptography-random |
static | Core.Base |
— | — | bcrypt on Windows (private) |
System/Security/Cryptography/RNGCryptoServiceProvider.hpp |
Xml |
modules/xml |
static | Core.Base, Uri |
Diagnostics |
Xml.Linq |
vendored tinyxml2 (public) | System/Xml/ConformanceLevel.hpp |
Xml.Linq |
modules/xml-linq |
static | Core.Base, Xml |
— | — | — | System/Xml/Linq/Extensions.hpp |
Compatibility components preserve broad historical surfaces. New code should prefer the narrow physical component from the table above.
| Component | Owner | Kind | Direct dependencies | Representative public header |
|---|---|---|---|---|
Core |
modules/core |
compatibility umbrella | Console, Core.Base, TimeZone, Uri |
SharpRuntime/Experimental/Property.hpp |
Collections |
modules/collections |
compatibility umbrella | Collections.Async, Collections.Blocking, Collections.Core, Collections.ObjectModel |
System/Collections/ArrayList.hpp |
Xml.XPath |
modules/xml |
alias of Xml | Xml |
System/Xml/ConformanceLevel.hpp |
All |
CMake aggregate | compatibility umbrella | Buffers, Collections.Async, Collections.Blocking, Collections.Core, Collections.ObjectModel, ComponentModel, Console, Core.Base, Diagnostics, Globalization, IO, IO.Compression, IO.Compression.Zip, IO.Hashing, IO.IsolatedStorage, Net, Net.Http, Net.Http.Headers, Net.Http.Json, Net.Mime, Net.NetworkInformation, Net.Security, Net.Sockets, Net.WebSockets, Numerics, Runtime, Security, Security.Cryptography, Security.Cryptography.Random, Storage, Text, Text.Json, Text.RegularExpressions, Threading, Threading.Channels, Threading.Tasks, TimeZone, Timers, Uri, Xml, Xml.Linq |
SharpRuntime/Experimental/Property.hpp |