blob: d3c9fd226f016294727d0b63e125d3b7d7df82a4 [file] [log] [blame]
# Copyright 2019 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("//chrome/process_version_rc_template.gni")
import("//testing/test.gni")
# This target builds the updater executable, its installer, and unittests.
group("win") {
deps = [
":updater",
"//chrome/updater/win/installer:installer",
]
}
executable("updater") {
sources = [
"main.cc",
"updater.rc",
]
configs += [ "//build/config/win:windowed" ]
libs = [ "winhttp.lib" ]
deps = [
":code",
":version_resources",
"//build/win:default_exe_manifest",
"//chrome/updater:common",
]
}
copy("uninstall.cmd") {
sources = [
"setup/uninstall.cmd",
]
outputs = [
"$target_gen_dir/uninstall.cmd",
]
}
process_version_rc_template("version_resources") {
sources = [
"updater.ver",
]
output = "$target_gen_dir/updater_exe.rc"
}
source_set("code") {
sources = [
"net/net_util.cc",
"net/net_util.h",
"net/network.h",
"net/network_fetcher.cc",
"net/network_fetcher.h",
"net/network_winhttp.cc",
"net/network_winhttp.h",
"net/scoped_hinternet.h",
"setup/setup.cc",
"setup/setup.h",
"setup/setup_util.cc",
"setup/setup_util.h",
"setup/uninstall.cc",
"setup/uninstall.h",
"task_scheduler.cc",
"task_scheduler.h",
"util.cc",
"util.h",
]
defines = [ "SECURITY_WIN32" ]
libs = [
"secur32.lib",
"taskschd.lib",
]
deps = [
"//base",
"//chrome/installer/util:with_no_strings",
"//chrome/updater:common",
"//components/update_client",
]
}
# Tests built into Chrome's unit_tests.exe.
source_set("updater_tests") {
testonly = true
sources = [
"net/network_unittest.cc",
"util_unittest.cc",
]
deps = [
":code",
"//base/test:test_support",
"//testing/gtest",
]
data_deps = [
":updater_unittests",
"//chrome/updater/win/installer:installer_unittest",
]
}
# Specific tests which must run in their own process due to COM, security, or
# test isolation requirements.
test("updater_unittests") {
testonly = true
sources = [
"//chrome/updater/win/test/test_main.cc",
"task_scheduler_unittest.cc",
]
deps = [
":code",
"//base",
"//base/test:test_support",
"//chrome/updater/win/test:test_executables",
"//chrome/updater/win/test:test_strings",
"//testing/gtest",
]
}