Add toolchain directory with cmake toolchain files used to find
compilers and set C++ versions
The following configurations are build on Windows using appveyor
service:
- enable MSVC 2015 SDK 8.1
- enable MSVC 2015
- enable MSVC 2017
- enable MSVC 2017 c++17
- enable mingw-cxx11
- enable mingw-gnuxx11
- enable mingw-cxx17
The following configurations are build on Linux using travis service:
- enable Ubuntu 14.04 amd64/i386, C++11
- enable Ubuntu 16.04 amd64/i386, C++11
- enable Ubuntu 18.04 amd64 C++98, C++11, GNU++11, C++17
- enable mingw-w64 on Ubuntu 18.04 amd64, C++11, GNU++11, C++17
The tests for cross compiled mingw windows binaries are run using wine64
Fixed these warnings:
src/logging_unittest.cc: At global scope:
src/logging_unittest.cc:1081:13: warning: 'void MyCheck(bool, bool)' defined but not used [-Wunused-function]
static void MyCheck(bool a, bool b) {
^~~~~~~
src/logging_unittest.cc:1078:13: warning: 'void MyFatal()' defined but not used [-Wunused-function]
static void MyFatal() {
^~~~~~~
If the getpwuid_r method doesn't find an entry with the given ID, it
will still return success (0), but the *result will be set to NULL.
This checks the |result| value so it won't crash if it doesn't find
the entry.
This normally shouldn't ever happen, but it can somehow happen on
iOS simulators.
This eliminates a conflict between glog and gflags preprocessor definition of GFLAGS_NAMESPACE that can cause the gflags namespace detection to fail (fixes#317).
This was previously present in
https://github.com/bazelbuild/continuous-integration, but the Bazel team
asked us to move it to our repo. It will be helpful if we need to change
the build configuration, eg to add new platforms.
The issue was caused by config.h header being included from both
header files and implementation files.
Proposed solution is to have regular header guard in the generated
config.h. Benefit of this solution is that it's least intrusive.
Downside is that it only solves issue for CMake build system, and
autoconf one is not fixed since header template is automatically
generated by autoheader who does not add header guard.
Glog was missing colored output when running in terminal
who is set to konsole* TERM, even though the terminal
itself supports colored output.
Add extra terminfo to the check function, so now output
from Glog is properly colored.
* added dbghelp symbolizer support for mingw and cygwin
* fixed compiler errors in case <stdint.h> is not available
* cmake: check whether SymFromAddr actually works