🚀 This maintenance release improves life of Bazel users (no more "config.h" leaking into global include paths), fixes build with recent MinGW versions, and silences a number of static code analyzer and compiler warnings. The build targets exported by the CMake configuration of this library are now also prefixed by the package name "gflags::" following a more recent (unwritten) CMake convention. The unprefixed target names are still supported to avoid that dependent projects have to be modified due to this change in imported target names.
👀 For a full list of changes, see the closed issues of v2.2.2 Milestone.
🚀 Maintenance release with mainly Windows build fixes.
- 🔗 Link to online documentation in README
- #194: Include utils by file instead of CMAKE_MODULE_PATH search
- 🚚 #195: Remove unused program_name variable
- #196: Enable language C for older CMake versions when needed
- 🏗 #202: Changed include directory in bazel build
- #207: Mark single argument constructors in mutex.h as explicit
- #209: Use inttypes.h on VC++ 2013 and later
- #212: Fix statically linked gflags library with MSVC
- 🏁 #213: Modify installation paths on Windows for vcpkg
- 🔒 #215: Fix static initialization order fiasco caused by global registry lock
- #216: Fix use of ARGC in CMake macros
- #222: Static code analyzer error regarding strncmp with empty kRootDir
- #224: Check HAVE_STDINT_H or HAVE_INTTYPES_H for older MSVC versions
🚀 This release adds support for use of the gflags library as external dependency not only in projects using CMake, but also Bazel, or pkg-config. One new minor feature is added in this release: when a command flag argument contains dashes, these are implicitly converted to underscores. This is to allow those used to separate words of the flag name by dashes to do so, while the flag variable names are required to use underscores.
🚀 Memory leaks reported by valgrind should be resolved by this release.
🚀 This release fixes build errors with MS Visual Studio 2015.
🚀 Please report any further issues with this release using the GitHub issue tracker.
🚀 This release completes the namespace change fixes. In particular, it restores binary ABI compatibility with release version 2.0. The deprecated "google" namespace is by default still kept as primary namespace while symbols are imported into the new "gflags" namespace. This can be overridden using the CMake variable GFLAGS_NAMESPACE.
🏗 Other fixes of the build configuration are related to the (patched) CMake modules FindThreads.cmake and CheckTypeSize.cmake. These have been removed and instead the C language is enabled again even though gflags is written in C++ only.
🚀 This release also marks the complete move of the gflags project from Google Code to GitHub. Email addresses of original issue reporters got lost in the process. Given the age of most issue reports, this should be negligable.
Please report any further issues using the GitHub issue tracker.
🚀 This release fixes a few bugs in the configuration of gflags_declare.h
and adds a GFLAGS_INCLUDE_DIR variable to the build configuration.
Setting GFLAGS_NAMESPACE to "google" no longer changes also the include
path of the public header files. This allows the use of the library with
🗄 other Google projects such as glog which still use the deprecated "google"
namespace for the gflags library, but include it as "gflags/gflags.h".
🚀 The major changes are the use of CMake for the build configuration instead of the autotools and packaging support through CPack. This release compiles with all major compilers without warnings and passed the unit tests on Ubuntu 12.04, Windows 7 (Visual Studio 2008 and 2010, Cygwin, MinGW), and Mac OS X (Xcode 5.1).
⚡️ The binary packages contain optimized shared libraries only, while the dev(el) packages contain optimized static and shared libraries as well as the header files. No debug libraries are included.
📦 (Both DEB and RPM packages were created on Ubuntu 12.04)
v2.0April 20, 2013
v1.7April 20, 2013
v1.6April 20, 2013
v1.5April 20, 2013