# 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/buildflag_header.gni") import("//build/config/chrome_build.gni") import("//testing/test.gni") buildflag_header("buildflags") { header = "buildflags.h" if (is_chrome_branded && is_win) { flags = [ "USE_GOOGLE_UPDATE_INTEGRATION=1" ] } else { flags = [ "USE_GOOGLE_UPDATE_INTEGRATION=0" ] } } if (is_win) { # This file contains utility functions that only depend on kernel32. # Please don't add dependencies on other system libraries. static_library("install_static_util") { deps = [ "//components/nacl/common:buildflags", "//components/version_info:channel", "//components/version_info:generate_version_info", ] public_deps = [ ":buildflags", "//build:branding_buildflags", "//chrome/chrome_elf:nt_registry", ] sources = [ "../app/chrome_dll_resource.h", "../common/chrome_icon_resources_win.h", "//base/compiler_specific.h", "//base/win/windows_types.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" ] } # 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" ] deps = [ ":install_static_util" ] } # 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 and chrome.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 = [ ":buildflags", "//base", "//base/test:run_all_unittests", "//base/test:test_support", "//build:branding_buildflags", "//chrome/install_static:install_static_util", "//chrome/install_static/test:test_support", "//components/version_info", "//testing/gmock", "//testing/gtest", ] } }