1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- load("@fbsource//tools/build_defs/apple:flag_defs.bzl", "get_preprocessor_flags_for_build_mode")
- load(
- "//tools/build_defs/oss:rn_defs.bzl",
- "ANDROID",
- "APPLE",
- "CXX",
- "YOGA_CXX_TARGET",
- "fb_xplat_cxx_test",
- "get_apple_compiler_flags",
- "get_apple_inspector_flags",
- "react_native_xplat_target",
- "rn_xplat_cxx_library",
- "subdir_glob",
- )
- APPLE_COMPILER_FLAGS = get_apple_compiler_flags()
- rn_xplat_cxx_library(
- name = "root",
- srcs = glob(
- ["**/*.cpp"],
- exclude = glob(["tests/**/*.cpp"]),
- ),
- headers = [],
- header_namespace = "",
- exported_headers = subdir_glob(
- [
- ("", "*.h"),
- ],
- prefix = "react/components/root",
- ),
- compiler_flags = [
- "-fexceptions",
- "-frtti",
- "-std=c++14",
- "-Wall",
- ],
- fbobjc_compiler_flags = APPLE_COMPILER_FLAGS,
- fbobjc_labels = ["supermodule:ios/default/public.react_native.infra"],
- fbobjc_preprocessor_flags = get_preprocessor_flags_for_build_mode() + get_apple_inspector_flags(),
- macosx_tests_override = [],
- platforms = (ANDROID, APPLE, CXX),
- preprocessor_flags = [
- "-DLOG_TAG=\"ReactNative\"",
- "-DWITH_FBSYSTRACE=1",
- ],
- tests = [":tests"],
- visibility = ["PUBLIC"],
- deps = [
- "//xplat/fbsystrace:fbsystrace",
- "//xplat/folly:headers_only",
- "//xplat/folly:memory",
- "//xplat/folly:molly",
- "//xplat/third-party/glog:glog",
- YOGA_CXX_TARGET,
- react_native_xplat_target("fabric/debug:debug"),
- react_native_xplat_target("fabric/core:core"),
- react_native_xplat_target("fabric/graphics:graphics"),
- react_native_xplat_target("fabric/components/view:view"),
- ],
- )
- fb_xplat_cxx_test(
- name = "tests",
- srcs = glob(["tests/**/*.cpp"]),
- headers = glob(["tests/**/*.h"]),
- compiler_flags = [
- "-fexceptions",
- "-frtti",
- "-std=c++14",
- "-Wall",
- ],
- contacts = ["oncall+react_native@xmail.facebook.com"],
- platforms = (ANDROID, APPLE, CXX),
- deps = [
- ":root",
- "//xplat/folly:molly",
- "//xplat/third-party/gmock:gtest",
- ],
- )
|