cef/tools/distrib/bazel/tests-ceftests-win-BUILD.bazel
Marshall Greenblatt 08ae3a44a6 bazel: Fix resource paths as external repo (see #3757)
- Headers that are included by .rc files need to be supplied to
  `declare_exe` via the `resources_deps` attribute (passed as the `deps
  attribute to `compile_rc`). The headers must be part of a cc_library
  target via either the `hdrs` or `srcs` attribute.
- File paths for CEF resources are prefixed with "external/<repo>"
  when CEF is loaded as an external repo. Update `copy_filegroups` to
  work with these paths.
2024-08-02 16:51:11 -04:00

62 lines
1.4 KiB
Plaintext

# Copyright (c) 2024 The Chromium Embedded Framework Authors. All rights
# reserved. Use of this source code is governed by a BSD-style license that
# can be found in the LICENSE file.
PRODUCT_NAME = "ceftests"
PKG_NAME = "//tests/{}".format(PRODUCT_NAME)
# Allow access from the parent package only.
package(default_visibility = [
"{}:__pkg__".format(PKG_NAME),
])
load("//bazel:copy_filegroups.bzl", "copy_filegroups")
load("//bazel/win:exe_helpers.bzl", "declare_exe")
#
# Windows executable target.
#
# Copy resources into the current project.
copy_target = "{}_resources".format(PRODUCT_NAME)
copy_filegroups(
name = copy_target,
filegroups = [
"{}:Resources".format(PKG_NAME),
],
remove_prefixes = [
"tests/{}/resources".format(PRODUCT_NAME),
],
add_prefix = "ceftests_files",
)
declare_exe(
name = PRODUCT_NAME,
srcs = [
"{}:SrcsWin".format(PKG_NAME),
"//tests/shared:SrcsWin",
],
deps = [
"//tests/gtest",
],
rc_file = "{}.rc".format(PRODUCT_NAME),
manifest_srcs = [
"compatibility.manifest",
"{}.exe.manifest".format(PRODUCT_NAME),
],
resources_srcs = [
"{}.ico".format(PRODUCT_NAME),
"small.ico",
"//tests/shared:Resources",
],
resources_deps = [
"{}:ResourceH".format(PKG_NAME),
],
linkopts = [
"/SUBSYSTEM:CONSOLE",
],
data = [
":{}".format(copy_target),
],
)