# 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 subpackages only. package(default_visibility = [ ":__subpackages__", ]) load("//bazel:library_helpers.bzl", "declare_cc_library", "declare_objc_library") load("@rules_cc//cc:defs.bzl", "cc_library") # # Source file lists. # srcs_renderer_mac = [ ${ceftests_sources_mac_helper} ] srcs_browser = [ ${ceftests_sources_common} ] srcs_browser_linux = [ ${ceftests_sources_linux} ] srcs_browser_mac = [ ${ceftests_sources_mac} ] srcs_browser_win = [ ${ceftests_sources_win} ] filegroup( name = "Resources", srcs = glob(["resources/**"]), ) # # MacOS targets. # # Copy the 'net' folder into app bundle Resources. filegroup( name = "ResourcesMac", srcs = ["resources/net"], ) declare_objc_library( name = "BrowserLibMac", srcs = srcs_browser + srcs_browser_mac, target_compatible_with = [ "@platforms//os:macos", ], deps = [ "//:cef_wrapper", "//tests/gtest", "//tests/shared:BrowserLibMacCefTests", ], ) declare_objc_library( name = "RendererLibMac", srcs = srcs_renderer_mac, target_compatible_with = [ "@platforms//os:macos", ], deps = [ "//:cef_wrapper", "//tests/gtest", "//tests/shared:RendererLibMacCefTests", ], ) # # Windows targets. # # Allow access to resource.h from the declare_exe target. cc_library( name = "ResourceH", hdrs = [ "resource.h" ] ) # Include files directly in the declare_exe target. This simplifies the build # configuration and avoids issues with Windows discarding symbols (like WinMain) # when linking libraries. filegroup( name = "SrcsWin", srcs = srcs_browser + srcs_browser_win, target_compatible_with = [ "@platforms//os:windows", ], ) # # Linux targets. # # Include files directly in the declare_exe target. This simplifies the build # configuration. filegroup( name = "SrcsLinux", srcs = srcs_browser + srcs_browser_linux, target_compatible_with = [ "@platforms//os:linux", ], ) # # Alias to platform-specific build targets. # alias( name = PRODUCT_NAME, actual = select({ "@platforms//os:linux": "{}/linux:{}".format(PKG_NAME, PRODUCT_NAME), "@platforms//os:macos": "{}/mac:{}".format(PKG_NAME, PRODUCT_NAME), "@platforms//os:windows": "{}/win:{}".format(PKG_NAME, PRODUCT_NAME), }), )