1 static_library("gn_lib") { 2 sources = [ 3 "build_settings.cc", 4 "build_settings.h", 5 "command_desc.cc", 6 "command_gen.cc", 7 "command_help.cc", 8 "commands.cc", 9 "commands.h", 10 "config.cc", 11 "config.h", 12 "config_values.cc", 13 "config_values.h", 14 "config_values_extractors.cc", 15 "config_values_extractors.h", 16 "config_values_generator.cc", 17 "config_values_generator.h", 18 "err.cc", 19 "err.h", 20 "escape.cc", 21 "escape.h", 22 "file_template.cc", 23 "file_template.h", 24 "filesystem_utils.cc", 25 "filesystem_utils.h", 26 "functions.cc", 27 "functions.h", 28 "functions_target.cc", 29 "function_exec_script.cc", 30 "function_process_file_template.cc", 31 "function_read_file.cc", 32 "function_set_default_toolchain.cc", 33 "function_template.cc", 34 "function_toolchain.cc", 35 "function_write_file.cc", 36 "import_manager.cc", 37 "import_manager.h", 38 "input_conversion.cc", 39 "input_conversion.h", 40 "input_file.cc", 41 "input_file.h", 42 "input_file_manager.cc", 43 "input_file_manager.h", 44 "item.cc", 45 "item.h", 46 "item_node.cc", 47 "item_node.h", 48 "item_tree.cc", 49 "item_tree.h", 50 "label.cc", 51 "label.h", 52 "location.h", 53 "ninja_build_writer.cc", 54 "ninja_build_writer.h", 55 "ninja_helper.cc", 56 "ninja_helper.h", 57 "ninja_target_writer.cc", 58 "ninja_target_writer.h", 59 "ninja_toolchain_writer.cc", 60 "ninja_toolchain_writer.h", 61 "ninja_writer.cc", 62 "ninja_writer.h", 63 "operators.cc", 64 "operators.h", 65 "output_file.h", 66 "parse_tree.cc", 67 "parse_tree.h", 68 "parser.cc", 69 "parser.h", 70 "path_output.cc", 71 "path_output.h", 72 "pattern.cc", 73 "pattern.h", 74 "scheduler.cc", 75 "scheduler.h", 76 "scope.cc", 77 "scope.h", 78 "scope_per_file_provider.cc", 79 "scope_per_file_provider.h", 80 "settings.cc", 81 "settings.h", 82 "setup.cc", 83 "setup.h", 84 "source_dir.cc", 85 "source_dir.h", 86 "source_file.cc", 87 "source_file.h", 88 "standard_out.cc", 89 "standard_out.h", 90 "string_utils.cc", 91 "string_utils.h", 92 "target.cc", 93 "target.h", 94 "target_generator.cc", 95 "target_generator.h", 96 "target_manager.cc", 97 "target_manager.h", 98 "token.cc", 99 "token.h", 100 "tokenizer.cc", 101 "tokenizer.h", 102 "toolchain.cc", 103 "toolchain.h", 104 "toolchain_manager.cc", 105 "toolchain_manager.h", 106 "value.cc", 107 "value.h", 108 "value_extractors.cc", 109 "value_extractors.h", 110 "variables.cc", 111 "variables.h", 112 ] 113 deps = [ 114 "//base", 115 "//base/third_party/dynamic_annotations", 116 ] 117 } 118 119 executable("gn") { 120 sources = [ 121 "gn_main.cc", 122 ] 123 deps = [ 124 ":gn_lib", 125 ] 126 } 127 128 test("gn_unittests") { 129 sources = [ 130 "escape_unittest.cc", 131 "file_template_unittest.cc", 132 "filesystem_utils_unittest.cc", 133 "input_conversion_unittest.cc", 134 "label_unittest.cc", 135 "ninja_helper_unittest.cc", 136 "parser_unittest.cc", 137 "path_output_unittest.cc", 138 "pattern_unittest.cc", 139 "source_dir_unittest.cc", 140 "string_utils_unittest.cc", 141 "target_generator_unittest.cc", 142 "target_manager_unittest.cc", 143 "tokenizer_unittest.cc", 144 ] 145 deps = [ 146 ":gn_lib", 147 "//base:run_all_unittests", 148 "//base:test_support_base", 149 "//testing:gtest", 150 ] 151 } 152 153 executable("generate_test_gn_data") { 154 sources = [ "generate_test_gn_data.cc" ] 155 deps = [ "//base" ] 156 } 157