The first element in the GFLAGS_NAMESPACE list is used as primary/default namespace. The symbols are then imported from this primary namespace into each of the other alternative namespaces with the using keyword. This is in particular used to maintain backwards compatibility with previous gflags library versions that used the "google" namespace instead of the new default "gflags" namespace.
Both GFLAGS_NAMESPACE and GFLAGS_INCLUDE_DIR can be used to customize the installation of the gflags library. One specifies the C++ namespace name of the gflags symbols, the other the include subdirectory path of the public header files. By default, both are set to "gflags", but other Google libraries still expect "google" as C++ namespace name, but not necessarily also include path.
Expose as few system variables as possible through public interface.
Perform STRIP_FLAGS_HELP test using CMake instead of Bash.
Change file path separator used by gflags_reporting.cc to backslash on Windwos.