[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",