# Copyright 2016 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/config/chrome_build.gni") import("//testing/test.gni") assert(is_win) # This file only contains utility functions which must only depend on kernel32. # Please don't add dependencies on other system libraries. static_library("install_static_util") { deps = [ "//components/nacl/common:features", "//components/version_info:channel", "//components/version_info:generate_version_info", ] public_deps = [ "//chrome_elf:nt_registry", ] sources = [ "../app/chrome_dll_resource.h", "../chrome/common/chrome_icon_resources_win.h", "install_constants.h", "install_details.cc", "install_details.h", "install_modes.cc", "install_modes.h", "install_util.cc", "install_util.h", "policy_path_parser.cc", "policy_path_parser.h", "product_install_details.cc", "product_install_details.h", "user_data_dir.cc", "user_data_dir.h", ] if (is_chrome_branded) { sources += [ "google_chrome_install_modes.cc", "google_chrome_install_modes.h", ] } else { sources += [ "chromium_install_modes.cc", "chromium_install_modes.h", ] } libs = [ "kernel32.lib" ] configs += [ # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. "//build/config/compiler:no_size_t_to_int_warning", ] } # A source set for use by the module in a process that creates the process-wide # InstallDetails instance (i.e., chrome_elf.dll). source_set("primary_module") { sources = [ "get_install_details_payload.cc", ] } # A source set for use by modules in a process that fetch the process-wide # InstallDetails instance from the primary module by way of # GetInstallDetailsPayload (i.e., chrome.exe, chrome.dll, chrome_child.dll, and # chrome_watcher.dll). source_set("secondary_module") { sources = [ "initialize_from_primary_module.cc", "initialize_from_primary_module.h", ] deps = [ ":install_static_util", ] } test("install_static_unittests") { output_name = "install_static_unittests" sources = [ "install_details_unittest.cc", "install_modes_unittest.cc", "install_util_unittest.cc", "product_install_details_unittest.cc", "user_data_dir_win_unittest.cc", ] include_dirs = [ "$target_gen_dir" ] deps = [ "//base", "//base/test:run_all_unittests", "//base/test:test_support", "//chrome/install_static:install_static_util", "//chrome/install_static/test:test_support", "//testing/gmock", "//testing/gtest", ] }