aboutsummaryrefslogtreecommitdiffhomepage
path: root/third_party/third_party.gni
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/third_party.gni')
-rw-r--r--third_party/third_party.gni37
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" ]
+ }
}
}
}