https://github.com/google/mozc/issues/490 --- /src/gyp/defines.gypi +++ /src/gyp/defines.gypi @@ -71,6 +71,10 @@ # use_system_gtest represents if system version or bundled version # of gtest library is used. 'use_system_gtest%': '0', + + # use_system_jsoncpp represents if system version or bundled version + # of jsoncpp library is used. + 'use_system_jsoncpp%': '0', }, 'target_defaults': { 'defines': [ --- /src/net/jsoncpp.gyp +++ /src/net/jsoncpp.gyp @@ -31,32 +31,60 @@ 'targets': [ { 'target_name': 'jsoncpp', - 'type': 'static_library', - 'variables': { - 'jsoncpp_root': '<(third_party_dir)/jsoncpp', - 'jsoncpp_srcs': [ - '<(jsoncpp_root)/src/lib_json/json_reader.cpp', - '<(jsoncpp_root)/src/lib_json/json_value.cpp', - '<(jsoncpp_root)/src/lib_json/json_writer.cpp', - ], - 'jsoncpp_include_dirs': ['<(jsoncpp_root)/include'], - 'jsoncpp_additional_macros': ['JSON_USE_EXCEPTION=0'], - }, - 'defines': [ - '<@(jsoncpp_additional_macros)', + 'conditions': [ + ['use_system_jsoncpp==1', { + 'type': 'none', + 'variables': { + 'jsoncpp_additional_macros': [ + 'JSON_USE_EXCEPTION=0', + 'MOZC_USE_SYSTEM_JSONCPP', + ], + }, + 'all_dependent_settings': { + 'defines': [ + '<@(jsoncpp_additional_macros)', + ], + 'cflags': [ + ' +#else #include "third_party/jsoncpp/include/json/json.h" +#endif #define MOZC_JSONCPP_JSON_H_INCLUDED #endif // !MOZC_JSONCPP_JSON_H_INCLUDED