You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
118 lines
3.4 KiB
118 lines
3.4 KiB
4 years ago
|
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': [
|
||
|
+ '<!@(pkg-config --cflags jsoncpp)',
|
||
|
+ ],
|
||
|
+ 'link_settings': {
|
||
|
+ 'libraries': [
|
||
|
+ '<!@(pkg-config --libs-only-l jsoncpp)',
|
||
|
+ ],
|
||
|
+ 'ldflags': [
|
||
|
+ '<!@(pkg-config --libs-only-L 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)',
|
||
|
+ ],
|
||
|
+ 'sources': [
|
||
|
+ '<@(jsoncpp_srcs)',
|
||
|
+ 'jsoncpp.h',
|
||
|
+ ],
|
||
|
+ 'include_dirs': [
|
||
|
+ '<@(jsoncpp_include_dirs)',
|
||
|
+ ],
|
||
|
+ 'all_dependent_settings': {
|
||
|
+ 'defines': [
|
||
|
+ '<@(jsoncpp_additional_macros)',
|
||
|
+ ],
|
||
|
+ },
|
||
|
+ }],
|
||
|
],
|
||
|
- 'sources': [
|
||
|
- '<@(jsoncpp_srcs)',
|
||
|
- 'jsoncpp.h',
|
||
|
- ],
|
||
|
- 'include_dirs': [
|
||
|
- '<@(jsoncpp_include_dirs)',
|
||
|
- ],
|
||
|
- 'all_dependent_settings': {
|
||
|
- 'defines': [
|
||
|
- '<@(jsoncpp_additional_macros)',
|
||
|
- ],
|
||
|
- },
|
||
|
},
|
||
|
],
|
||
|
}
|
||
|
--- /src/net/jsoncpp.h
|
||
|
+++ /src/net/jsoncpp.h
|
||
|
@@ -35,7 +35,11 @@
|
||
|
// Mozc basically disables C++ exception.
|
||
|
#define JSON_USE_EXCEPTION 0
|
||
|
#endif // !JSON_USE_EXCEPTION
|
||
|
+#ifdef MOZC_USE_SYSTEM_JSONCPP
|
||
|
+#include <json/json.h>
|
||
|
+#else
|
||
|
#include "third_party/jsoncpp/include/json/json.h"
|
||
|
+#endif
|
||
|
#define MOZC_JSONCPP_JSON_H_INCLUDED
|
||
|
#endif // !MOZC_JSONCPP_JSON_H_INCLUDED
|
||
|
|