Commit Graph

315 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 d25fb08a75 clang-format 6 years ago
gabime cee35f7d24 Added truncate flag (issue #1297) 6 years ago
gabime 436ce16e79 Updated meson tests build 6 years ago
gabime a13b0abb7d Simplify meson for tests 6 years ago
gabime 21f7f78130 Update tests CMakeLists.txt 6 years ago
gabime bb1b24c178 Fixed #1295 6 years ago
gabime 10116b7717 Removed SPDLOG_NO_DATETIME option 6 years ago
gabime 18edb8bd63 Added tweakme options to CMakeLists.txt 6 years ago
gabime e3699070a4 clang-format 6 years ago
gabime cae6c9ab36 Removed lazy argument evaluation from macros 6 years ago
Paul Kunysch eb4a169cfb Improve log macros 6 years ago
gabime 2b8afb38b7 Revert pull #1288 6 years ago
David Yip 288ea11534 Use _FILE_OFFSET_BITS=64 when building tests on Linux 32-bit systems
When cross-compiling spdlog from x86-64 to armhf, I ran spdlog-utests
via qemu-arm and noticed that the "daily_logger rotate" test was failing
because count_files always returned zero.

Investigation of count_files revealed that readdir was returning nullptr
immediately and setting errno to 75, i.e. "value too large for defined
data type".  I suspected this had something to do with some 64 vs.
32-bit thing, so I added _FILE_OFFSET_BITS=64 to the build and that
seems to have made readdir happy.

It might be safe to add _FILE_OFFSET_BITS=64 for all Linux builds, but
it only seems to be necessary for the 32-bit case (which is a pretty
small audience these days -- I'm only building for armhf to target a
Raspberry Pi 3 running Raspbian, which runs in 32-bit mode).
6 years ago
gabime 4a620a2c5e Merge branch 'Issue-1248' into v1.x 6 years ago
gabime 594d226056 update tests 6 years ago
gabime c19e325b83 Added some tests for create_dir 6 years ago
gabime 88335bd92e clang-format 6 years ago
gabime dbe5c17a96 Renamed file_exists()->path_exists() 6 years ago
gabime c40555c0ac clang-format 6 years ago
gabime bfc76278a9 update tests 6 years ago
gabime a1f283946e updated os::dir_name and tests 6 years ago
gabime 066087b383 Update create_dir 6 years ago
Andrei-Florin BENCSIK 2cc620ef33 Function instead of macro
Be more consistent with the existing code and with the naming
_function -> function
6 years ago
Andrei-Florin BENCSIK cee705ccd3 Minor cmake code duplication improvement
Create a macro to add tests for both static/header only.

The only differneces between these two are the libraries they link
with and the target names. Created the simple macro:

_spdlog_prepare_test(<target> <spdlog_lib>)

which does the work.

Signed-off-by: Andrei-Florin BENCSIK <andrei.bencsik@gmail.com>
6 years ago
gabime a8f72424db Merge branch 'Issue-1248' of https://github.com/gabime/spdlog into Issue-1248 6 years ago
gabime 31ed133932 Added dir_name tests 6 years ago
Gabi Melman 5f3521b3d4
Update utils.cpp 6 years ago
gabime 9b7812a0f2 auto create log dir 6 years ago
Florian Pigorsch 4aad51a352 Fix some spelling errors.
casese -> cases (1)
chache -> cache (1)
cirucal -> circular (1)
dependecy -> dependency (1)
detrmine -> determine (2)
eavluate -> evaluate (1)
exertnal -> external (1)
ony -> only (1)
registation -> registration (3)
registring -> registering (2)
regsistration -> registration (3)
seperate -> separate (2)
wit -> with (1)
withe -> with (1)
6 years ago
gabime 9369fe8c27 Fix #1262 6 years ago
gabime 453be2e08a clang-format 6 years ago
gabime 83497e4dc9 Update test_stdout_api.cpp 6 years ago
gabime 3806a9c320 Added wchar api tests to windows 6 years ago
gabime e42867f0a8 Merge branch 'v1.x' of https://github.com/gabime/spdlog into v1.x 6 years ago
gabime fe20afac17 clang-format 6 years ago
Gabi Melman 10578ff08c
Update test_mpmc_q.cpp 6 years ago
gabime 7733849478 Updated meson build 6 years ago
gabime 545e7d2de8 Fixed clang warning 6 years ago
gabime a9ed6b352b Update utils.cpp 6 years ago
gabime 523eebe47d Update utils.cpp 6 years ago
gabime b303d8bc40 Update tests utils 6 years ago
Gabi Melman fcc6b97f88
Update utils.cpp 6 years ago
gabime adc4398cc5 Fixed widows tests 6 years ago
Gabi Melman c53d26cfca
Update utils.cpp 6 years ago
Gabi Melman c188bee229
Update utils.cpp 6 years ago
Gabi Melman 7f1a89e3f6
Update utils.cpp 6 years ago
gabime 5d46f3fcab Fix windows build 6 years ago
gabime b55d95d365 Update test utils for windows 6 years ago
gabime 494cc8bace Implemented daily sink rotation #661 6 years ago