# Copyright 2015 The Chromium Authors. All rights reserved. # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. import("//build/buildflag_header.gni") import("//chrome/installer/setup/buildflags.gni") import("//chrome/process_version_rc_template.gni") import("//testing/test.gni") buildflag_header("buildflags") { header = "buildflags.h" # Use ZUCCHINI since ZUCCHINI_ENABLED is too long a name for setup.rc. flags = [ "ZUCCHINI=$use_zucchini" ] } if (is_win) { executable("setup") { sources = [ "setup.rc", "setup_exe_version.rc.version", "setup_main.cc", "setup_main.h", "setup_resource.h", "uninstall.cc", "uninstall.h", ] configs -= [ "//build/config/win:console" ] configs += [ "//build/config/win:windowed" ] deps = [ ":buildflags", ":lib", ":setup_exe_version", "//build/config:exe_and_shlib_deps", "//build/win:default_exe_manifest", "//chrome/install_static:install_static_util", "//components/crash/content/app:app", "//components/crash/content/app:crash_export_thunks", "//components/crash/content/app:run_as_crashpad_handler", "//content/public/common:static_switches", ] libs = [ "netapi32.lib" ] } static_library("lib") { sources = [ "archive_patch_helper.cc", "archive_patch_helper.h", "install.cc", "install.h", "install_worker.cc", "install_worker.h", "installer_crash_reporter_client.cc", "installer_crash_reporter_client.h", "installer_crash_reporting.cc", "installer_crash_reporting.h", "installer_state.cc", "installer_state.h", "progress_calculator.cc", "progress_calculator.h", "setup_constants.cc", "setup_constants.h", "setup_install_details.cc", "setup_install_details.h", "setup_singleton.cc", "setup_singleton.h", "setup_util.cc", "setup_util.h", "update_active_setup_version_work_item.cc", "update_active_setup_version_work_item.h", "user_experiment.cc", "user_experiment.h", "user_hive_visitor.cc", "user_hive_visitor.h", ] public_deps = [ ":buildflags", "//base", "//chrome/common:constants", "//chrome/common:version_header", "//chrome/install_static:install_static_util", "//chrome/installer/util:with_rc_strings", "//chrome_elf:constants", "//components/base32", "//components/crash/content/app", "//components/crash/core/common", "//components/zucchini:zucchini_io", "//components/zucchini:zucchini_lib", "//courgette:courgette_lib", "//rlz:rlz_lib", "//third_party/bspatch", "//third_party/zlib", "//ui/base:fullscreen_win", ] } process_version_rc_template("setup_exe_version") { template_file = "setup_exe_version.rc.version" output = "$target_gen_dir/setup_exe_version.rc" } # This test covers the mini installer and setup tests. test("setup_unittests") { sources = [ "archive_patch_helper_unittest.cc", "install_unittest.cc", "install_worker_unittest.cc", "installer_state_unittest.cc", "memory_unittest.cc", "progress_calculator_unittest.cc", "run_all_unittests.cc", "setup_install_details_unittest.cc", "setup_singleton_unittest.cc", "setup_util_unittest.cc", "setup_util_unittest.h", "update_active_setup_version_work_item_unittest.cc", "user_experiment_unittest.cc", "user_hive_visitor_unittest.cc", ] deps = [ ":lib", "//base", "//base:i18n", "//base/allocator:buildflags", "//base/test:test_support", "//chrome/install_static:install_static_util", "//chrome/install_static/test:test_support", "//chrome/installer/mini_installer:unit_tests", "//chrome/installer/util:test_support", "//components/crash/content/app:test_support", "//testing/gmock", "//testing/gtest", ] data = [ "//chrome/installer/test/data/", "//chrome/test/data/installer/", ] libs = [ "netapi32.lib" ] } }