static_library("gn_lib") {
  sources = [
    "build_settings.cc",
    "build_settings.h",
    "command_desc.cc",
    "command_desc.h",
    "command_gen.cc",
    "command_gen.h",
    "command.cc",
    "config.cc",
    "config.h",
    "config_values.h",
    "config_values_extractors.cc",
    "config_values_extractors.h",
    "config_values_generator.cc",
    "config_values_generator.h",
    "err.cc",
    "err.h",
    "escape.cc",
    "escape.h",
    "file_template.cc",
    "file_template.h",
    "filesystem_utils.cc",
    "filesystem_utils.h",
    "functions.cc",
    "functions.h",
    "functions_target.cc",
    "function_exec_script.cc",
    "function_process_file_template.cc",
    "function_read_file.cc",
    "function_set_default_toolchain.cc",
    "function_template.cc",
    "function_toolchain.cc",
    "function_write_file.cc",
    "import_manager.cc",
    "import_manager.h",
    "input_conversion.cc",
    "input_conversion.h",
    "input_file.cc",
    "input_file.h",
    "input_file_manager.cc",
    "input_file_manager.h",
    "item.cc",
    "item.h",
    "item_node.cc",
    "item_node.h",
    "item_tree.cc",
    "item_tree.h",
    "label.cc",
    "label.h",
    "location.h",
    "ninja_build_writer.cc",
    "ninja_build_writer.h",
    "ninja_helper.cc",
    "ninja_helper.h",
    "ninja_target_writer.cc",
    "ninja_target_writer.h",
    "ninja_toolchain_writer.cc",
    "ninja_toolchain_writer.h",
    "ninja_writer.cc",
    "ninja_writer.h",
    "operators.cc",
    "operators.h",
    "output_file.h",
    "parse_tree.cc",
    "parse_tree.h",
    "parser.cc",
    "parser.h",
    "path_output.cc",
    "path_output.h",
    "pattern.cc",
    "pattern.h",
    "scheduler.cc",
    "scheduler.h",
    "scope.cc",
    "scope.h",
    "scope_per_file_provider.cc",
    "scope_per_file_provider.h",
    "settings.cc",
    "settings.h",
    "setup.cc",
    "setup.h",
    "source_dir.cc",
    "source_dir.h",
    "source_file.cc",
    "source_file.h",
    "standard_out.cc",
    "standard_out.h",
    "string_utils.cc",
    "string_utils.h",
    "target.cc",
    "target.h",
    "target_generator.cc",
    "target_generator.h",
    "target_manager.cc",
    "target_manager.h",
    "token.cc",
    "token.h",
    "tokenizer.cc",
    "tokenizer.h",
    "toolchain.cc",
    "toolchain.h",
    "toolchain_manager.cc",
    "toolchain_manager.h",
    "value.cc",
    "value.h",
    "value_extractors.cc",
    "value_extractors.h",
  ]
  deps = [
    "//base",
    "//base/third_party/dynamic_annotations",
  ]
}

executable("gn") {
  sources = [
    "gn_main.cc",
  ]
  deps = [
    ":gn_lib",
  ]
}

test("gn_unittests") {
  sources = [
    "escape_unittest.cc",
    "file_template_unittest.cc",
    "filesystem_utils_unittest.cc",
    "input_conversion_unittest.cc",
    "label_unittest.cc",
    "ninja_helper_unittest.cc",
    "parser_unittest.cc",
    "path_output_unittest.cc",
    "pattern_unittest.cc",
    "source_dir_unittest.cc",
    "string_utils_unittest.cc",
    "target_generator_unittest.cc",
    "target_manager_unittest.cc",
    "tokenizer_unittest.cc",
  ]
  deps = [
    ":gn_lib",
    "//base:run_all_unittests",
    "//base:test_support_base",
    "//testing:gtest",
  ]
}

executable("generate_test_gn_data") {
  sources = [ "generate_test_gn_data.cc" ]
  deps = [ "//base" ]
}
