Commit Graph

77 Commits

Author SHA1 Message Date
Sergiu Deitsch
efc341d768 fixed windows builds 2021-04-08 18:16:42 +02:00
Sergiu Deitsch
9ee010d853 cmake: build shared libs by default 2021-04-02 01:23:43 +02:00
Sergiu Deitsch
d66e593188
Merge pull request #618 from sergiud/ac_cv___attribute___printf_4_5
build: set ac_cv___attribute___printf_4_5
2021-03-31 10:32:49 +02:00
Sergiu Deitsch
01f3e543e3 use C++ headers 2021-03-31 02:24:22 +02:00
Sergiu Deitsch
3f4df6aee9 cmake: do not require a C compiler 2021-03-31 01:44:15 +02:00
Sergiu Deitsch
be25d94c21 cmake: optionally use gtest 2021-03-30 22:41:15 +02:00
Sergiu Deitsch
c30896d3d5 cmake: export symbols selectively 2021-03-30 21:41:52 +02:00
Sergiu Deitsch
b442ef8070 build: set ac_cv___attribute___printf_4_5 2021-03-30 21:12:09 +02:00
Marco
9881ea5969
Fix race conditions in LOG_EVERY_N (#492)
* Use CMakeLists.txt to check the availability of std::atomic<>
* Declare the static integer counters as std::atomic<int> instead of int if C++11's atomic is available
* implement fallback mechanism for pre C++11 compilers
* src/glog/logging.h.in: fix wrong atomic increment
* src/glog/logging.h.in: make modulo operations atomic
2021-02-22 22:17:25 +01:00
Sergiu Deitsch
e370cd5166 bump version 2021-02-13 12:23:32 +01:00
Sergiu Deitsch
8ee2bb5b31
Merge pull request #553 from huangqinjin/android
Output to logcat on Android
2020-09-29 22:11:54 +02:00
Yicong Huang
c652590d84
Update CMakeLists.txt
wrap the path with double quotation so that it can build on path with spaces.
2020-09-15 22:22:13 -07:00
huangqinjin
0a12a96cee Output to logcat on Android 2020-05-11 23:59:00 +08:00
Ed Baunton
eb13e4f67c Allow CMake user to disable Symbolize functionality
Currently the user has to rely on the HAVE_SYMBOLIZE detection inside
CMakeLists.txt without having any control over whether it should be used.

Add support for disabling HAVE_SYMBOLIZE at configure time so user can specify
`cmake -DHAVE_SYMBOLIZE=0`.

Signed-off-by: Ed Baunton <ebaunton1@bloomberg.net>
2020-02-15 17:16:14 -05:00
Michael Spang
130a3e10de Use file offsets in traces if object has no symbols (#513)
Fallback to using file offsets if no symbol is found, like we do if the
object could not be opened.

This makes backtraces usable even if objects in the trace are stripped,
since the trace can be symbolized by post-processing it with a tool like
asan_symbolize.py.

Note that this is not currently compatible with SymbolizeCallback as
this overwrites the filename in the buffer. The behavior is unchanged
in that case.

Closes: #514
2020-01-08 15:34:39 +09:00
Sergiu Deitsch
1863b4228c
Merge pull request #368 from UVV-gh/cmake-sdk-fix
Use libunwind as an imported target
2019-11-10 17:02:31 +01:00
Sergiu Deitsch
c0463b17b6 added cmake package config unit test 2019-11-10 15:46:47 +01:00
Sergiu Deitsch
9a43cfb8d2 install unwind find module alongside glog 2019-11-10 11:09:18 +01:00
Sergiu Deitsch
19570c69c9 renamed and cleaned up the unwind find module 2019-11-10 11:09:14 +01:00
Ezequiel Lara Gomez
58d7f873dc Added fixed log name support, take 2 (#489)
* Added fixed log name support, take 2

See https://code.google.com/p/google-glog/issues/detail?id=209 and former https://github.com/google/glog/pull/19 - this is an updated version of that patch.

It adds a flag that allows to switch behavior from base_filename + filename_extension + time_pid_string to base_filename + filename_extension, while still defaulting to the current behavior to avoid breakage in existing code. This change would allow easier log rotation schemes and better control on what's written on disk.

* Ifdef away fcntl on mingw

* Use the defined HAVE_FCNTL instead

* ifdef away tests as well

add have_sys_wait for wait() on mingw.

* OS_WINDOWS bug in fseeking to the end, only triggered here
2019-11-06 12:49:01 +01:00
Vyacheslav Yurkov
742fe94f22 Use libunwind as an imported target
When UNWIND_LIBRARY is used directly as a public dependency then
absolute path is stored in cmake config file. This is an issue when
glog is used as part of an SDK, which was built somewhere else. When
SDK is installed on developer's machine, cmake config contains a full
path to non-existent location. The solution is to find libunwind
during configure stage and store target name as a dependency, not a full path.
Cmake module looks for libunwind and libunwind-PLAT, where PLAT is one of
supported platforms.

Signed-off-by: Vyacheslav Yurkov <uvv.mail@gmail.com>
2019-11-02 02:42:25 +01:00
loop0day
82d0860b76 Support pkg-config 2019-11-01 22:28:58 +08:00
durswd
a8fad525e5 Changed the order of conditions 2019-09-02 13:28:18 +09:00
durswd
00cb9f4e6f I supported clang-cl with BUILD_SHARED_LIBS 2019-09-02 12:32:29 +09:00
Shinichiro Hamaji
406b0e702f glog: release 0.4.0 2019-01-22 21:00:50 +09:00
Roman Gershman
6adf6d7ae5 fix debug build using gcc -fsanitize=undefined (#374) 2018-12-12 10:16:49 +01:00
Sergiu Deitsch
125d6b3df4
Merge pull request #330 from NeroBurner/ci_travis_appveyor_master
ci: add appveyor and travis config
2018-12-12 09:00:35 +01:00
Taiju Tsuiki
781096619d Upstream Chromium local changes to symbolize.cc (#391)
* Upstream Chromium local changes to symbolize.cc

Chromium has its own fork of symbolize.cc and symbolize.h, and it has
several not-yet-upstreamed changes, that are not specific to Chromium.

This patch upstreams such a changes.

  Fixed google::FindSymbol reading past end of a section
  3dae0a2d7d

  Fix -INT_MIN integer overflow in itoa_r().
  ac4d28e9cb

  Add print_unsymbolized_stack_traces gn arg.
  6a2726776f

  Switch to standard integer types in base/.
  9b6f42934e

* Add a build option to print unsymbolized traces

This PRINT_UNSYMBOLIZED_STACK_TRACES option to cmake, and
--enable-unsymbolized-traces option to autoconf.
2018-11-21 11:14:38 +09:00
NeroBurner
a29380601b set timeout for stacktrace unittest
The stacktrace unittest hangs when compiled with MSVC. The default
timeout is 1500 seconds. Change it to 30 seconds
2018-10-15 13:34:52 +02:00
NeroBurner
7450a8b345 mingw-w64: check if localtime_r exists
- check in cmake if localtime_r exists
- if localtime_r is missing (MSVC, mingw-w64 on linux) redefine it using
  localtime_s
2018-06-01 14:50:11 +02:00
NeroBurner
d354e2e8f9 mingw-w64: fix dbghelp on case sensitive systems
- fix dbhelp.h include
- fix dbghelp check and link
2018-06-01 14:50:07 +02:00
Daiki Maekawa
2faa186e62 cmake: added BUILD_SHARED_LIBS option (#313) 2018-04-26 08:46:24 +02:00
Sergiu Deitsch
43dafc5bf2 cmake: fixed gcc warning 2018-03-19 00:21:33 +01:00
Sergiu Deitsch
a97d6b0e1c
Symbolizer support for mingw and cygwin (#208)
* added dbghelp symbolizer support for mingw and cygwin
* fixed compiler errors in case <stdint.h> is not available
* cmake: check whether SymFromAddr actually works
2018-02-27 21:03:20 +01:00
Sergiu Deitsch
1aec14edf4 cmake: do not introduce a policy stack in the package config 2018-02-23 10:16:24 +01:00
Corentin Le Molgat
6b6e38a7d5 Rework CMake glog VERSION management.
- Use of Project version properties instead of custom variables
- fix missmatch between VERSION (build version) and SOVERSION (API version)
src: https://cmake.org/cmake/help/latest/prop_tgt/VERSION.html#prop_tgt:VERSION
2018-02-06 10:37:26 +01:00
Corentin Le Molgat
4ef88d510e remove uneeded enable_testing()
CTest module already provides it
2018-02-06 10:37:26 +01:00
Corentin Le Molgat
cbfd86a1d8 Provide glog::glog ALIAs
Useful when using glog as subproject.
Add an explanation at top like in gflags.git CMakeLists.txt
2018-02-06 10:37:26 +01:00
Sergiu Deitsch
028d37889a cmake: remove config.h from public headers (closes #238) 2018-01-04 15:20:26 +01:00
Sergiu Deitsch
a92e1d95c5 cmake: use gflags package config instead of a find module
This allows to avoid conflicts between third party gflags find modules floating
around. If a package provide a local version of gflags find module, clients
which locate glog will incorrectly use it. Another problem is a CMake error message
"cmake_policy PUSH without matching POP" in nested find_package calls. In summary,
we need to ensure to use the original gflags package config.
2018-01-04 02:38:42 +01:00
Sergiu Deitsch
185ba48937 cmake: added a postfix for debug builds (closes #237)
This allows to deploy debug and release builds concurrently.
2018-01-02 14:38:37 +01:00
Shinichiro Hamaji
ebf81ac476 Merge pull request #245 from DariuszOstolski/issue211
Fix username lookup in case of missing USER environment variable
2017-10-20 16:09:28 +09:00
Sergiu Deitsch
2fe6508e53 fixed gcc logging failure 2017-10-11 00:45:08 +02:00
Dariusz Ostolski
9d28cac469 Added HAVE_PWD_H to cmake build 2017-09-20 18:41:07 +02:00
Shinichiro Hamaji
40fc21467a Merge pull request #153 from sergiud/cmake-gnu-install-dirs
cmake: do not hardcode relative install directories
2017-07-06 15:01:10 +09:00
Shinichiro Hamaji
a9b9ee8e8c Merge pull request #152 from sergiud/cmake-project-name
cmake: changed project name from google-glog to glog
2017-07-06 15:00:37 +09:00
Shinichiro Hamaji
a835da8e08 Merge pull request #158 from sergiud/zero-allocation
[RFC] reduce heap memory allocations to zero
2017-07-06 14:58:37 +09:00
Hans-Andreas Engel
2df0ca34aa reduce memory allocations to zero 2017-07-06 00:02:38 +02:00
Shinichiro Hamaji
80bec2ba45 Merge pull request #199 from v1bri/brian-fix-gflags-link
Use gflags ALIAS instead of ${gflags_XXX} vars
2017-06-29 12:36:25 +09:00
Andrew Schwartzmeyer
d1f49ba5aa Support signal handler on Windows 2017-06-27 10:50:20 -07:00