Import pw_build_defaults into child GN targets
This moves the pw_build_default imports in pw_* target types from the
enclosing tempalate's scope into the generated target's. This allows
downstream projects to check the existence of the pw_build_defaults
variable to determine whether they're building a pw_* target or the GN
builtin.
Change-Id: Ic12b462f01aaa9f68f14ff6e7e1b6b0f0c532f1b
diff --git a/pw_build/target_types.gni b/pw_build/target_types.gni
index c7054b6..80ffd2a 100644
--- a/pw_build/target_types.gni
+++ b/pw_build/target_types.gni
@@ -43,9 +43,8 @@
]
template("pw_source_set") {
- import("$dir_pw_build/defaults.gni")
-
source_set(target_name) {
+ import("$dir_pw_build/defaults.gni")
forward_variables_from(invoker, "*", _supported_toolchain_defaults)
if (!defined(configs)) {
@@ -84,14 +83,13 @@
}
template("pw_static_library") {
- import("$dir_pw_build/defaults.gni")
-
_library_output_dir = "${target_out_dir}/lib"
if (defined(invoker.output_dir)) {
_library_output_dir = invoker.output_dir
}
static_library(target_name) {
+ import("$dir_pw_build/defaults.gni")
forward_variables_from(invoker, "*", _supported_toolchain_defaults)
if (!defined(configs)) {
@@ -132,14 +130,13 @@
}
template("pw_shared_library") {
- import("$dir_pw_build/defaults.gni")
-
_library_output_dir = "${target_out_dir}/lib"
if (defined(invoker.output_dir)) {
_library_output_dir = invoker.output_dir
}
shared_library(target_name) {
+ import("$dir_pw_build/defaults.gni")
forward_variables_from(invoker, "*", _supported_toolchain_defaults)
if (!defined(configs)) {
@@ -182,14 +179,13 @@
# Wrapper for Pigweed executable build targets which uses a globally-defined,
# configurable target type.
template("pw_executable") {
- import("$dir_pw_build/defaults.gni")
-
_executable_output_dir = "${target_out_dir}/bin"
if (defined(invoker.output_dir)) {
_executable_output_dir = invoker.output_dir
}
target(pw_build_EXECUTABLE_TARGET_TYPE, target_name) {
+ import("$dir_pw_build/defaults.gni")
forward_variables_from(invoker, "*", _supported_toolchain_defaults)
if (!defined(configs)) {