Skip to content

fix(vcpkg-ports): enable thread_system integration in logger_system port#572

Merged
kcenon merged 1 commit into
mainfrom
fix/logger-enable-thread-system-vcpkg
Mar 17, 2026
Merged

fix(vcpkg-ports): enable thread_system integration in logger_system port#572
kcenon merged 1 commit into
mainfrom
fix/logger-enable-thread-system-vcpkg

Conversation

@kcenon

@kcenon kcenon commented Mar 17, 2026

Copy link
Copy Markdown
Owner

What

Summary

Enable LOGGER_USE_THREAD_SYSTEM=ON in the kcenon-logger-system overlay port and add kcenon-thread-system as a runtime dependency. Removes the -DLOGGER_USE_THREAD_SYSTEM=OFF workaround that was disabling thread_system integration.

Change Type

  • Bugfix

Why

Related Issues

Motivation

The portfile previously forced LOGGER_USE_THREAD_SYSTEM=OFF as a workaround for unresolved externals when linking thread_pool symbols. Since then, both logger_system and thread_system have undergone CMake improvements:

  • logger_system correctly detects IMPORTED targets and links them PUBLIC
  • thread_system completed the snake_case export migration with proper unified build
  • The config template correctly calls find_dependency(thread_system CONFIG REQUIRED)

With thread_system disabled, vcpkg consumers miss the optimized thread pool (work stealing, lock-free queues) for async log dispatch, falling back to a standalone std::jthread-based executor.

Where

Files Changed

File Change
vcpkg-ports/kcenon-logger-system/vcpkg.json Add kcenon-thread-system to dependencies
vcpkg-ports/kcenon-logger-system/portfile.cmake Change LOGGER_USE_THREAD_SYSTEM from OFF to ON

How

Implementation

  1. Added "kcenon-thread-system" to the port's dependencies array
  2. Changed -DLOGGER_USE_THREAD_SYSTEM=OFF to -DLOGGER_USE_THREAD_SYSTEM=ON
  3. Updated comments to reflect the enabled state

Test Plan

  • vcpkg install kcenon-logger-system with overlay ports should build successfully with thread_system linked
  • Consumer find_package(logger_system CONFIG) should resolve thread_system as a transitive dependency
  • LoggerSystem_USE_THREAD_SYSTEM should be ON in the installed config
  • Logger async operations should use thread_system's thread pool

Remove the LOGGER_USE_THREAD_SYSTEM=OFF workaround that was disabling
thread_system integration due to previously unresolved externals for
thread_pool symbols.

The upstream logger_system CMake now correctly handles IMPORTED targets:
- Detects vcpkg-installed thread_system as IMPORTED
- Links it PUBLIC so symbols propagate through the export set
- Config template calls find_dependency(thread_system CONFIG REQUIRED)

Add kcenon-thread-system as a runtime dependency in the port vcpkg.json
so vcpkg installs it before building logger_system.

Closes kcenon/logger_system#507
@kcenon kcenon added priority/high High priority - Critical for production type/fix Bug fixes and corrections area/deps size/XS labels Mar 17, 2026
@kcenon kcenon merged commit f04d16f into main Mar 17, 2026
29 checks passed
@kcenon kcenon deleted the fix/logger-enable-thread-system-vcpkg branch March 17, 2026 07:44
kcenon added a commit that referenced this pull request Apr 13, 2026
…A512 (#514)

Update the vcpkg overlay port for kcenon/thread_system:
- REF: commit SHA 80242646 → annotated tag v0.3.0
- SHA512: placeholder '0' → actual archive hash

The v0.3.0 tag was created in kcenon/thread_system after merging:
- #571: fix(build) link common_system target for vcpkg find_package
- #572: chore(release) bump version to 0.3.0

SHA512 was computed from the GitHub-generated source archive:
  https://github.com/kcenon/thread_system/archive/refs/tags/v0.3.0.tar.gz

Resolves: kcenon/thread_system#570
kcenon added a commit that referenced this pull request Apr 13, 2026
…ort (#572)

Remove the LOGGER_USE_THREAD_SYSTEM=OFF workaround that was disabling
thread_system integration due to previously unresolved externals for
thread_pool symbols.

The upstream logger_system CMake now correctly handles IMPORTED targets:
- Detects vcpkg-installed thread_system as IMPORTED
- Links it PUBLIC so symbols propagate through the export set
- Config template calls find_dependency(thread_system CONFIG REQUIRED)

Add kcenon-thread-system as a runtime dependency in the port vcpkg.json
so vcpkg installs it before building logger_system.

Closes kcenon/logger_system#507
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/deps priority/high High priority - Critical for production size/XS type/fix Bug fixes and corrections

Projects

None yet

Development

Successfully merging this pull request may close these issues.

fix(cmake): Enable thread_system integration in vcpkg build mode

1 participant