Cycles: Be ready for gflags namespace auto-detect

This way it is now possible to use gflags >= 2.1, where all the
functions were moved from google to gflags namespace.

This isn't currently used in blender, but for standalone repository
this change is essential.
This commit is contained in:
Sergey Sharybin 2014-12-12 16:01:30 +05:00
parent 405c0fddb4
commit 93ca68b50c
5 changed files with 17 additions and 9 deletions

View File

@ -154,6 +154,7 @@ add_definitions(
if(WITH_CYCLES_LOGGING)
add_definitions(-DWITH_CYCLES_LOGGING)
add_definitions(-DGOOGLE_GLOG_DLL_DECL=)
add_definitions(-DCYCLES_GFLAGS_NAMESPACE=${GFLAGS_NAMESPACE})
include_directories(
SYSTEM
${GLOG_INCLUDE_DIRS}

View File

@ -65,6 +65,7 @@ if env['WITH_BF_CYCLES_DEBUG']:
if env['WITH_BF_CYCLES_LOGGING']:
defs.append('WITH_CYCLES_LOGGING')
defs.append('GOOGLE_GLOG_DLL_DECL=')
defs.append('GFLAGS_NAMESPACE=gflags')
if env['OURPLATFORM'] in ('win32-vc', 'win32-mingw', 'linuxcross', 'win64-vc', 'win64-mingw'):
incs.append('#extern/libmv/third_party/glog/src/windows')
incs.append('#extern/libmv/third_party/gflags')

View File

@ -136,4 +136,5 @@ else()
set(GLOG_INCLUDE_DIRS ${CMAKE_SOURCE_DIR}/extern/libmv/third_party/glog/src)
set(GFLAGS_INCLUDE_DIRS ${CMAKE_SOURCE_DIR}/extern/libmv/third_party/gflags)
endif()
set(GFLAGS_NAMESPACE gflags)
endif()

View File

@ -50,6 +50,7 @@ if env['WITH_BF_CYCLES_DEBUG']:
if env['WITH_BF_CYCLES_LOGGING']:
defs.append('WITH_CYCLES_LOGGING')
defs.append('GOOGLE_GLOG_DLL_DECL=')
defs.append('GFLAGS_NAMESPACE=gflags')
if env['OURPLATFORM'] in ('win32-vc', 'win32-mingw', 'linuxcross', 'win64-vc', 'win64-mingw'):
incs.append('#extern/libmv/third_party/glog/src/windows')
incs.append('#extern/libmv/third_party/gflags')

View File

@ -28,16 +28,18 @@ CCL_NAMESPACE_BEGIN
void util_logging_init(const char *argv0)
{
#ifdef WITH_CYCLES_LOGGING
using CYCLES_GFLAGS_NAMESPACE::SetCommandLineOption;
/* Make it so FATAL messages are always print into console. */
char severity_fatal[32];
snprintf(severity_fatal, sizeof(severity_fatal), "%d",
google::GLOG_FATAL);
google::InitGoogleLogging(argv0);
gflags::SetCommandLineOption("logtostderr", "1");
gflags::SetCommandLineOption("v", "0");
gflags::SetCommandLineOption("stderrthreshold", severity_fatal);
gflags::SetCommandLineOption("minloglevel", severity_fatal);
SetCommandLineOption("logtostderr", "1");
SetCommandLineOption("v", "0");
SetCommandLineOption("stderrthreshold", severity_fatal);
SetCommandLineOption("minloglevel", severity_fatal);
#else
(void) argv0;
#endif
@ -46,19 +48,21 @@ void util_logging_init(const char *argv0)
void util_logging_start(void)
{
#ifdef WITH_CYCLES_LOGGING
gflags::SetCommandLineOption("logtostderr", "1");
gflags::SetCommandLineOption("v", "2");
gflags::SetCommandLineOption("stderrthreshold", "1");
gflags::SetCommandLineOption("minloglevel", "0");
using CYCLES_GFLAGS_NAMESPACE::SetCommandLineOption;
SetCommandLineOption("logtostderr", "1");
SetCommandLineOption("v", "2");
SetCommandLineOption("stderrthreshold", "1");
SetCommandLineOption("minloglevel", "0");
#endif
}
void util_logging_verbosity_set(int verbosity)
{
#ifdef WITH_CYCLES_LOGGING
using CYCLES_GFLAGS_NAMESPACE::SetCommandLineOption;
char val[10];
snprintf(val, sizeof(val), "%d", verbosity);
gflags::SetCommandLineOption("v", val);
SetCommandLineOption("v", val);
#else
(void) verbosity;
#endif