[gn] Use un-rebased paths as "inputs" of executable targets
gn actions "glslang_frag" and "glslang_vert" use un-rebased paths
as |outputs| arguments for generated shader include files. Thus the
"cube-*" executables need to use these un-rebased paths as |inputs|
so that gn could parse the dependency correctly. Only the locations
in #define needs to be rebased to path relative to the build root dir.
TEST=fx build third_party/Vulkan-Tools/cube:vkcube-on-scenic
Change-Id: Id6c81ad51763ece2ad97cff3a778eea2a0c2b8d8
Reviewed-on: https://fuchsia-review.googlesource.com/c/third_party/Vulkan-Tools/+/522340
Reviewed-by: John Rosasco <rosasco@google.com>
Reviewed-by: John Bauman <jbauman@google.com>
diff --git a/cube/BUILD.gn b/cube/BUILD.gn
index 689050a..5ead1c6 100644
--- a/cube/BUILD.gn
+++ b/cube/BUILD.gn
@@ -114,12 +114,11 @@
}
config("cube_config") {
- cflags = [ "-Wno-implicit-int-float-conversion" ]
-}
+ cube_frag_inc = "$target_gen_dir/cube.frag.inc"
+ cube_vert_inc = "$target_gen_dir/cube.vert.inc"
-executable("cube-scenic") {
- cube_frag_inc = rebase_path("$target_gen_dir/cube.frag.inc", root_build_dir)
- cube_vert_inc = rebase_path("$target_gen_dir/cube.vert.inc", root_build_dir)
+ cube_frag_inc_rebased = rebase_path(cube_frag_inc, root_build_dir)
+ cube_vert_inc_rebased = rebase_path(cube_vert_inc, root_build_dir)
inputs = [
cube_frag_inc,
@@ -127,10 +126,19 @@
]
defines = [
+ "CUBE_FRAG_INC=\"$cube_frag_inc_rebased\"",
+ "CUBE_VERT_INC=\"$cube_vert_inc_rebased\"",
+ ]
+
+ include_dirs = [ root_build_dir ]
+
+ cflags = [ "-Wno-implicit-int-float-conversion" ]
+}
+
+executable("cube-scenic") {
+ defines = [
"FUCHSIA_USE_SCENIC=1",
"FUCHSIA_IMAGEPIPE_LAYER=\"VK_LAYER_FUCHSIA_imagepipe_swapchain\"",
- "CUBE_FRAG_INC=\"$cube_frag_inc\"",
- "CUBE_VERT_INC=\"$cube_vert_inc\"",
]
if (defined(texture_ppm_h)) {
@@ -162,19 +170,9 @@
}
executable("cube-fb") {
- cube_frag_inc = rebase_path("$target_gen_dir/cube.frag.inc", root_build_dir)
- cube_vert_inc = rebase_path("$target_gen_dir/cube.vert.inc", root_build_dir)
-
- inputs = [
- cube_frag_inc,
- cube_vert_inc,
- ]
-
defines = [
"FUCHSIA_USE_SCENIC=0",
"FUCHSIA_IMAGEPIPE_LAYER=\"VK_LAYER_FUCHSIA_imagepipe_swapchain_fb\"",
- "CUBE_FRAG_INC=\"$cube_frag_inc\"",
- "CUBE_VERT_INC=\"$cube_vert_inc\"",
]
if (defined(texture_ppm_h)) {
@@ -194,19 +192,9 @@
}
executable("cube-skip-present") {
- cube_frag_inc = rebase_path("$target_gen_dir/cube.frag.inc", root_build_dir)
- cube_vert_inc = rebase_path("$target_gen_dir/cube.vert.inc", root_build_dir)
-
- inputs = [
- cube_frag_inc,
- cube_vert_inc,
- ]
-
defines = [
"FUCHSIA_USE_SCENIC=0",
"FUCHSIA_IMAGEPIPE_LAYER=\"VK_LAYER_FUCHSIA_imagepipe_swapchain_fb_skip_present\"",
- "CUBE_FRAG_INC=\"$cube_frag_inc\"",
- "CUBE_VERT_INC=\"$cube_vert_inc\"",
]
if (defined(texture_ppm_h)) {
@@ -230,19 +218,7 @@
}
executable("cube-wayland") {
- cube_frag_inc = rebase_path("$target_gen_dir/cube.frag.inc", root_build_dir)
- cube_vert_inc = rebase_path("$target_gen_dir/cube.vert.inc", root_build_dir)
-
- inputs = [
- cube_frag_inc,
- cube_vert_inc,
- ]
-
- defines = [
- "USE_XDG_SHELL=1",
- "CUBE_FRAG_INC=\"$cube_frag_inc\"",
- "CUBE_VERT_INC=\"$cube_vert_inc\"",
- ]
+ defines = [ "USE_XDG_SHELL=1" ]
sources = [
"cube.cpp",