diff options
Diffstat (limited to 'third_party/third_party.gni')
-rw-r--r-- | third_party/third_party.gni | 37 |
1 files changed, 27 insertions, 10 deletions
diff --git a/third_party/third_party.gni b/third_party/third_party.gni index 7aaf63586f..384eeed580 100644 --- a/third_party/third_party.gni +++ b/third_party/third_party.gni @@ -4,21 +4,38 @@ # found in the LICENSE file. template("third_party") { + enabled = !defined(invoker.enabled) || invoker.enabled config(target_name + "_public") { - if (defined(invoker.public_defines)) { - defines = invoker.public_defines + if (enabled) { + cflags = [] + if (defined(invoker.public_defines)) { + defines = invoker.public_defines + } + if (is_win) { + include_dirs = invoker.public_include_dirs + } else { + foreach(dir, invoker.public_include_dirs) { + cflags += [ + "-isystem", + rebase_path(dir), + ] + } + } + } else { + not_needed(invoker, "*") } - include_dirs = invoker.public_include_dirs } source_set(target_name) { - forward_variables_from(invoker, "*", [ "public_include_dirs" ]) - public_configs = [ ":" + target_name + "_public" ] + if (enabled) { + forward_variables_from(invoker, "*", [ "public_include_dirs" ]) + public_configs = [ ":" + target_name + "_public" ] - # Warnings are just noise if we're not maintaining the code. - if (is_win) { - cflags = [ "/w" ] - } else { - cflags = [ "-w" ] + # Warnings are just noise if we're not maintaining the code. + if (is_win) { + cflags = [ "/w" ] + } else { + cflags = [ "-w" ] + } } } } |