Commit Graph

2938 Commits (d05c507c047cd934245f5e0c6c604ca93ca51d97)
 

Author SHA1 Message Date
Matthias Schoepfer d05c507c04 Uses GenerateExportHeaders from cmake to export only symbols needed externally
This should only affect the library part, and to be more specific, the shared
library part. Cmake allows to generate a special header file through
GenerateExportHeader()[1]. This defines - amongst other - a SPDLOG_EXPORT
Symbol, that does the right thing, depending on compiler / OS. On Windows,
default is, if I recall correctly, that all symbols are not exported while
Linux does it the other way around. So this patch sets default to *not* export
symbols except those marked SPDLOG_EXPORT. Behaviour with Windows and Linux
should be the same. Also, I removed SPDLOG_BUILD_SHARED in favour of the
standard BUILD_SHARED_LIBS, which is a global symbol. This *might* give some
issues when used as add_subdirectory(), but I am not sure.
Also I made Threads::Threads private, so a depending cmake package does not
need to have find_package(Threads) on.

Why all that? On x86_64, gcc 8.3.0 .so code size reduction is:
811320 bytes original vs. 532536 now (~65% of the original). And, I *guess*,
this will resolve the issue that it is not possible to use shared libs
with windows. But I cannot test it, I only have Linux.

[1] https://cmake.org/cmake/help/latest/module/GenerateExportHeader.html

Signed-off-by: Matthias Schoepfer <matthias.schoepfer@ithinx.io>
6 years ago
gabime 1aa9ea92e2 Fix #1340 6 years ago
gabime 2698f54a9c Fix #1325. Added SPDLOG_FMT_EXTERNAL_HO option 6 years ago
gabime 6f977248bf Impl #1298 6 years ago
Gabi Melman 046fd62dc4
Merge pull request #1337 from luigino/meson
Set version for shared library
6 years ago
Luigi Baldoni da60dda2dd Set version for shared library 6 years ago
gabime d25fb08a75 clang-format 6 years ago
gabime 79e105243c Fix #1335 6 years ago
gabime 2d4e531ac9 Fix #1327 6 years ago
gabime 52403ad9ed Fix #1332 6 years ago
Gabi Melman 2d264855cc
Merge pull request #1331 from 0x8000-0000/fix-warnings
Fix compiler warnings
6 years ago
Florin Iucha c172c72be9 Fix compiler warnings 6 years ago
Gabi Melman 79259fdb3f
Update os-inl.h 6 years ago
gabime cee35f7d24 Added truncate flag (issue #1297) 6 years ago
Gabi Melman 1f5f17622e
Merge pull request #1311 from inhzus/v1.x
Remove redundant semicolon
6 years ago
Zhi Sun e8f7f80f2b Remove redundant semicolon 6 years ago
gabime 6db8beeade Removed un needed file 6 years ago
gabime 4f66313440 Fix #1308 6 years ago
gabime 89b5bcfdc7 Updated ringbuffer sink 6 years ago
gabime 26f706ebe3 Fixed #1302 6 years ago
gabime 0cb38085a1 Updated ringbuffer sink 6 years ago
Gabi Melman cff6644b28
Merge pull request #1307 from eudoxos/ringbuffer-sink
Add ringbuffer sink
6 years ago
Václav Šmilauer 63837530ed Fix circular_q::size() empty case 6 years ago
Václav Šmilauer 62e09e73f7 defer formatting, use log_msg_buffer for intermediate storage 6 years ago
Václav Šmilauer daef0a2374 Fix circular_q::size() 6 years ago
Václav Šmilauer 042045b998 typo fix 6 years ago
Václav Šmilauer bad7284465 Fix cicular_q::size() 6 years ago
Václav Šmilauer 6f0cb6365e Move ringbuffer_sink to spdlog::details::circular_q, enhance its API: size(), at(i) 6 years ago
gabime 653ec05c0e Updated .clang-tidy with more checks 6 years ago
gabime be2a751513 Fixed clang-tidy warning in example 6 years ago
gabime 840adfbbcf Added performance chacks tp .clang-tidy 6 years ago
Václav Šmilauer acf32be842 Add ringbuffer sink (requires boost::circular_buffer)
Ringbuffer sink keeps user-given number of most recent log messages in
memory and returns them upon request (using the ringbuffer_sink::last
method). This can be useful for e.g. remote debugging of a running app.
6 years ago
gabime 3999613eca Added performance chacks tp .clang-tidy 6 years ago
gabime bff85725d2 Fixed some more clang-tidy warnings 6 years ago
gabime 93008b2369 Fix clang-tidy warning about non existing move 6 years ago
gabime be336e7514 Added noexcept to log_msg move constructor 6 years ago
gabime 255f7f2dee Optimze backtracer operator= 6 years ago
gabime de2c07ac62 always cache gmt offset 6 years ago
gabime 844d54d7e6 Fix #1302 6 years ago
gabime ff3e6c7248 Fix issue #1306 6 years ago
Gabi Melman 408a2229d6
Merge pull request #1304 from RedDwarf69/include_path
"#include" <spdlog/.*> instead of "spdlog/.*"
6 years ago
Cristian Morales Vega 7cdd65075c "#include" <spdlog/.*> instead of "spdlog/.*"
The meaning of using quotes to #include is implementation defined, so it
may or not may be what we want. At least POSIX
(https://pubs.opengroup.org/onlinepubs/9699919799/utilities/c99.html)
says: "headers whose names are enclosed in double-quotes ( "" ) shall be
searched for first in the directory of the file with the #include line",
so not what we want since "spdlog" ends up twice in the path.
6 years ago
gabime 436ce16e79 Updated meson tests build 6 years ago
gabime 58320e2678 Updated meson build options 6 years ago
gabime a6f7edf94b Updated meson build options 6 years ago
gabime 4a4f13be46 Updated meson build 6 years ago
gabime a13b0abb7d Simplify meson for tests 6 years ago
gabime c081919320 Enabled tests under meson by default 6 years ago
gabime 21f7f78130 Update tests CMakeLists.txt 6 years ago
gabime bb1b24c178 Fixed #1295 6 years ago