86 Commits

Author SHA1 Message Date
Jan Moravec
12d65eebe6 Synchronize v2.x With Changes from v1.x (#3581)
* docs(tasks): v1.x inventory, triage template, merge report; update task checklist

- Record merge-base and export v1-only commits (v2..v1)
- Document failed merge attempt: v2 file tree diverges from v1
- Mark completed checklist items 0.x, 1.x, merge report draft (5.2)

Made-with: Cursor

* fix(pattern): %z with UTC pattern time shows +00:00 (port v1 09a674b7)

- z_formatter takes pattern_time_type; emit +00:00 when pattern uses UTC
- Track port in tasks/commits-ported.txt and merge-report; update checklist

Made-with: Cursor

* fix(os): Windows utc_minutes_offset via mktime/_mkgmtime (port v1 b656d1ce)

- Replace GetTimeZoneInformation-based offset with v1.x mktime/_mkgmtime approach
- Add tests/test_timezone.cpp and extend pattern_formatter tests; update os.h comment

Made-with: Cursor

* test(timezone): POSIX TZ with DST rules; include fcntl in tcp_client_unix (v1 ports)

- 0f7562a0: EST5EDT / IST-2IDT macros for POSIX vs Windows
- d2100d5d: fcntl.h for Unix tcp client header (v2 path)

Made-with: Cursor

* feat(tcp): connect timeouts and socket IO timeouts; ci: checkout@v6 (v1 ports)

- 9ecdf5c8: connect_socket_with_timeout on Unix/Windows; tcp_sink timeout_ms
- 3c61b051: actions/checkout@v6 on all workflows
- tcp_sink: remove duplicate #pragma once

Made-with: Cursor

* feat(dup_filter_sink): ctor with sink list (v1 45b67eee); add full v1 SHA triage table

- tasks/v1-triage-complete.md: 245 commits PORTED/PENDING/N/A for PRD 3A tracking
- Merge report and task checklist updated

Made-with: Cursor

* feat(level): case-insensitive level_from_str; cmake: BUILD_TYPE only if top-level (v1 ports)

- 566b2d14: common.cpp + test_misc (SUPERSEDED note for d5af52d9 in triage)
- dd3ca04a: guard default CMAKE_BUILD_TYPE for add_subdirectory consumers
- Update v1-triage-complete.md counts and statuses

Made-with: Cursor

* v1 parity: MSVC UTF-8, ansicolor/syslog/os, getenv, triage docs

- CMake: SPDLOG_MSVC_UTF8 + /utf-8 for real MSVC only
- ansicolor: protected target_file_; fix set_color_mode_ lock nesting
- os: drop redundant fileapi.h; spdlog::details::os::getenv via std::getenv
- tests: stopwatch waits 500ms; includes/triage/commits-ported/merge-report updates
- Reclassify superseded v1 SHAs (Sep, syslog, stopwatch ms, utf8 tests, etc.)

Made-with: Cursor

* parity: ringbuffer zero capacity, utf8 assert; v1 triage sync

- ringbuffer_sink: throw if n_items==0 (#3436); test expects spdlog_ex
- utf8_to_wstrbuf: assert compares int to static_cast<int>(target.size()) (#3479)
- Triage: PORTED ad725d34 getenv, 677a2d93 stopwatch, 3f7e5028, a6215527;
  SUPERSEDED a45c9390, eeb22c13, 5673e9e5, fe4f9952, 287333ee
- tasks: 27 PORTED / 26 SUPERSEDED / 78 PENDING; merge-report + commits-ported

Made-with: Cursor

* docs(tasks): note regular commits and push after parity ports

Made-with: Cursor

* parity: dup_filter_sink notification level from last duplicate (#3390)

- Remove notification_level ctor arg; track skipped_msg_log_level_ on duplicate skips
- Test: skipped summary line uses same short level as duplicated messages
- Triage: 847db337 PORTED; 28/26/77 counts; merge-report + commits-ported

Made-with: Cursor

* parity: UWP getenv (WINAPI_FAMILY); triage fmt/cfg/no-except

- os_windows: detect non-desktop/UWP for empty getenv (#3489)
- Triage: PORTED 8806ca65; SUPERSEDED e3f5a4fe e655dbb6; N/A ae1de0dc 548b2642
- Counts 29/28/116/72; merge-report + commits-ported

Made-with: Cursor

* parity: qt_sinks sign casts (#3487); triage 9c582574 superseded

- qt_color_sink: qsizetype for UTF-8 color range lengths; index colors_ with size_t
- SUPERSEDED: 9c582574 — os_unix utc_minutes_offset already matches #3366
- Counts 30/29/70; merge-report + commits-ported

Made-with: Cursor

* parity: SPDLOG_NO_TZ_OFFSET (#3483); triage #3360 superseded

- CMake: option SPDLOG_NO_TZ_OFFSET; PUBLIC compile definition when ON
- z_formatter: +??:?? when macro; else keep UTC +00:00 and local offset
- utc_minutes_offset: stub on Unix/Windows when macro
- test_pattern_formatter: %z UTC case matches placeholder when NO_TZ
- SUPERSEDED 10320184 (ScopedPadder / %D already in v2)
- Triage 31/30/68; merge-report + commits-ported

Made-with: Cursor

* triage: supersede 5931a3d6 ba508057 47b7e7c7 (already on v2 tree)

Made-with: Cursor

* tasks: sync 5.1 triage counts (33 superseded, 65 pending)

Made-with: Cursor

* parity: MSVC/clang hygiene #3515–#3519 #3521; triage batch

- dup_filter_sink: filter_ const, const filter_duration (#3515)
- logger: should_flush uses flush_level() (#3516)
- daily_file_sink: new_filename locals (#3516)
- spdlog::should_log(level log_level) (#3519)
- example my_type value_ / ctor param (#3521)
- Triage: PORTED 1774e700 309204d5 f2a9dec0 472945ba; N/A d299603e 57505989;
  SUPERSEDED 1ef8d3ce 8cfd4a7e; fix ba508057 row

Made-with: Cursor

* parity: udp_sink const udp_sink_config& (#3520); triage fc7e9c87 1685e694

- dist_sink already used std::move(sinks)
- SUPERSEDED: no common-inl.h on v2; log_with_format_ avoids fmt copy path (#3541)

Made-with: Cursor

* parity: README fmt::format_to (#3259); triage 2670f47d d276069a 951c5b99

- Document ambiguous format_to fix in README user-defined type example
- SUPERSEDED: z_formatter warning, fmt11 const formatter, rotate_now + test

Made-with: Cursor

* parity: lock rotate_now mutex (#3281); triage a2b42620 f355b3d5 d276069a

- rotating_file_sink::rotate_now matches #3281 (sync with sink_it_)
- SUPERSEDED: CMake 3.10..3.21 (v2 uses 3.23); daily test fmt::format; fmt11 const row

Made-with: Cursor

* parity: basic_file_sink::truncate (#3280); triage fwrite/fmt/test batch

- truncate(): lock + file_helper::reopen(true)
- test basic_file_sink_truncate
- SUPERSEDED: b7e0e2c2 71925ca3 fa6605dc 885b5473 96c9a62b 1e6250e1 d7155530

Made-with: Cursor

* parity: test_sink/callback iterator cast (#3315); triage Catch2 #3038

- difference_type cast for formatted.end() - eol_len (ad0f31c0)
- SUPERSEDED: c1569a3d Catch2 v3.5.0, 73e2e02b wstr_to_utf8buf bounds

Made-with: Cursor

* parity: SPDLOG_WCHAR_CONSOLE WriteConsoleW path (#3092); triage b6da5944

- WIN32 option SPDLOG_WCHAR_CONSOLE; SPDLOG_UTF8_TO_WCHAR_CONSOLE in private defs
- wincolor print_range_: utf8_to_wstrbuf + WriteConsoleW when defined
- N/A: async_msg flush_callback move-assign (no v1 shape on v2)

Made-with: Cursor

* triage: v1 async_logger/thread_pool + fmt 11.1 batch (15 SHAs)

- N/A: fe79bfcc 6725584e async tests 16e0d2e7 63d18842 d8e0ad46 1e7d7e07 3c23c27d
- SUPERSEDED: faa0a7a9 85bdab0c 276ee5f5 7f8060d5 96a8f625
- Counts: 58 SUPERSEDED, 129 N/A, 17 PENDING; merge-report subsection

Made-with: Cursor

* Port v1 TSAN CMake (#3237); close 3A triage (MDC N/A, fmt 5A)

Made-with: Cursor

* docs(triage): note 3A table complete

Made-with: Cursor

* 5A: bundle fmt 12.1.0 (match v1.x), FMT_INSTALL, MSVC /wd4834, find_dependency(fmt 12)

Made-with: Cursor

* docs(5.4): migration and release notes for v1 parity integration branch

Made-with: Cursor

* docs: cross-link migration notes; refresh PRD/tasks/merge-report for completed 5A/3A

Made-with: Cursor

* revert: remove README and PRD cross-links to migration notes

Made-with: Cursor

* docs(merge-report): audit — add 9fe79692 to ports table; fix 6004e3d1 paths

Made-with: Cursor

* Remove tasks

* PR comment fixes

* Fix small random issues

* Fix PR comments - un-remove the comment and allow any fmt library version

---------

Co-authored-by: Jan Moravec <jan.moravec@hidglobal.com>
2026-04-08 17:17:37 +03:00
gabime
ce0424bb37 Bump fmt to 11.1.4 2025-04-13 12:46:01 +03:00
gabime
27d8580131 Bump fmt to version 11.1.3 2025-02-01 19:06:19 +02:00
gabime
07be1b4767 Bump fmt version to 11.1.2 2025-01-17 20:07:12 +02:00
gabime
ed6919bf8e Fixed cmake warning 2024-12-05 19:36:11 +02:00
gabime
730aa35d98 Updated cmake 2024-12-01 23:51:43 +02:00
gabime
82153ec409 Updated cmake and remove pkg-config support 2024-12-01 23:28:47 +02:00
gabime
98a8b75eb4 updated pkgconfig.in 2024-12-01 18:33:32 +02:00
gabime
c55e7f6d14 Updated pkgconfig to version 2 2024-12-01 14:08:53 +02:00
gabime
3c9963a495 Removed tweak options and spdlog_config.h 2024-11-30 19:55:45 +02:00
gabime
21e0810791 commnet 2024-11-30 18:53:39 +02:00
gabime
e6cddd1028 Update cmakelists and config.h 2024-11-30 18:46:28 +02:00
gabime
2057f67015 Removed SPDLOG_WCHAR_FILENAMES support 2024-11-29 17:17:30 +02:00
Gabi Melman
63535f140b V2.x no std format (#3271)
* Removed SPDLOG_USE_STD_FORMAT

* Removed SPDLOG_USE_STD_FORMAT

* clang-format

* Fix windows.yml ci

* Fix ci
2024-11-29 15:25:29 +02:00
Gabi Melman
c122eaf749 Gabime/tsan (#3237)
* Fixed race condition in tests

* Support for thread sanitizer
2024-11-26 11:20:40 +02:00
gabime
496c5fd145 Bump fmt to 11.0.2 2024-11-25 10:35:32 +02:00
gabime
a145ba62b8 Fixed fmt cmake 2024-03-16 15:07:18 +02:00
gabime
c923915805 DOWNLOAD_EXTRACT_TIMESTAMP FALSE when fetching fmt 2024-03-16 14:26:21 +02:00
gabime
276788a60e Update comment 2024-03-16 14:13:25 +02:00
gabime
e9938a8839 Fetch fmt 10.2.1.tar.gz and check sha256 2024-03-16 14:13:08 +02:00
gabime
83d274eb55 Fix spdlogConfig.cmake.in 2024-01-13 15:55:05 +02:00
gabime
26b6461b24 Fixed pkgconfig 2024-01-13 14:26:35 +02:00
gabime
e6e2ffbf51 Fixed pkg-config 2024-01-13 13:50:46 +02:00
gabime
32d83ee246 Fix text in cpack 2024-01-13 12:56:56 +02:00
gabime
3834b911cd Fixed spdlogConfig.cmake.in fmt dep 2024-01-13 12:56:18 +02:00
gabime
aa5d9aff6c Bump fmt to 10.2.1 2024-01-13 11:09:47 +02:00
gabime
1ce7f5e499 Update spdlog_config.h template 2024-01-13 10:52:40 +02:00
gabime
24fe442d03 Use relative includes and create spdlog_config.h 2024-01-12 17:33:23 +02:00
Gabi Melman
70f397f75d Cmake use FOLDER third-party for third party libs 2023-12-24 16:26:28 +02:00
Gabi Melman
f4204e05bd Clean cmake 2023-12-24 12:34:00 +02:00
Gabi Melman
90c5055b77 place dlls in the same directory as the executables on msvc 2023-12-24 12:28:02 +02:00
gabime
8a0f87406b Updated cmake messages 2023-12-23 17:16:24 +02:00
gabime
3fe640e270 Remove static lib enforement of fmt 2023-12-23 16:31:38 +02:00
Gabi Melman
ea66477ac0 Copy dlls to the executable folder for msvc 2023-12-23 16:28:36 +02:00
gabime
c6206a3191 Always build static fmtlib version and fix fpic 2023-12-23 14:03:13 +02:00
gabime
15ee3f7999 Updated spdlogConfig.cmake 2023-12-22 18:24:43 +02:00
gabime
d03d514bad Use fmt git hash and disable FMT_OS 2023-12-22 18:01:05 +02:00
Gabi Melman
f5c927b46e Delete cmake/pch.h.in 2023-10-02 20:09:47 +03:00
gabime
a0e631802c Replaced include <spdlog/..> with include "spdlog/.." 2023-09-29 00:06:17 +03:00
Alexander Shpilkin
876880fb3f Reflect CMAKE_INSTALL_INCLUDEDIR in pkg-config 2022-05-19 17:49:16 +03:00
Alexander Shpilkin
afb69071d5 Allow absolute CMAKE_INSTALL_LIBDIR 2022-05-19 17:48:57 +03:00
Adam Calhoon
69cac816aa When built with SPDLOG_FMT_EXTERNAL_HO consumers of the spdlog targets depend on fmt
The cmake/spdlogConfig.cmake.in file properly takes into account the fmt
package dependency when building with SPDLOG_FMT_EXTERNAL:BOOL=ON but
not when built with SPDLOG_FMT_EXTERNAL_HO:BOOL=ON.

Prior to these changes SPDLOG_FMT_EXTERNAL_HO:BOOL=ON results in
exported targets with INTERFACE_LINK_LIBRARIES that contain
fmt::fmt-header-only.

As such, the installed spdlogConfig.cmake file should attempt to find
that dependency for the consumer.
2022-03-06 11:04:59 -05:00
Dave Rigby
87095a9f1f Ensure exported package is relocatable
As per CMake's Importing and Exporting Guide[1],
configure_package_config_file() should be used for configuring the
package configuration file, not the regular configure_file() function.

This ensures that a spdlog package built on one system (with a given
directory tree) can be imported from a different system -
e.g. creating a pre-compiled spdlog package for use on different
systems.

[1]: https://cmake.org/cmake/help/git-stage/guide/importing-exporting/index.html#id8
2021-08-04 15:34:27 +01:00
gabime
e7e8b75a4c clang-format 2021-07-19 00:50:51 +03:00
gabime
3315bad009 Treat wall warnings as errors if SPDLOG_BUILD_WARNINGS is ON 2021-07-10 15:22:44 +03:00
gabime
0613dbc4a2 Revert pr #1860 2021-03-04 23:52:50 +02:00
Christof Kaufmann
365e470a32 Add CPack debian package settings 2020-10-20 19:57:56 +02:00
Konstantin Podsvirov
fe97a03033 Fix shared library building failure on Windows with non MSVC
For example, now we can built shared library on Window with MinGW.

This changes improve features added in #1467.
2020-06-10 22:56:53 +03:00
gabime
75c15e8028 Formatted cmake 2020-05-02 11:42:08 +03:00
gabime
22655d7554 Formatted cmake using cmake-format 2020-05-02 11:39:59 +03:00