1load( 2 "//tools/build_defs/oss:rn_defs.bzl", 3 "ANDROID", 4 "APPLE", 5 "CXX", 6 "fb_xplat_cxx_test", 7 "get_apple_compiler_flags", 8 "get_apple_inspector_flags", 9 "get_preprocessor_flags_for_build_mode", 10 "react_native_xplat_target", 11 "rn_xplat_cxx_library", 12 "subdir_glob", 13) 14 15APPLE_COMPILER_FLAGS = get_apple_compiler_flags() 16 17rn_xplat_cxx_library( 18 name = "mounting", 19 srcs = glob( 20 ["**/*.cpp"], 21 exclude = glob(["tests/**/*.cpp"]), 22 ), 23 headers = glob( 24 ["**/*.h"], 25 exclude = glob(["tests/**/*.h"]), 26 ), 27 header_namespace = "", 28 exported_headers = subdir_glob( 29 [ 30 ("", "*.h"), 31 ("stubs", "*.h"), 32 ], 33 prefix = "react/renderer/mounting", 34 ), 35 compiler_flags_pedantic = True, 36 fbobjc_compiler_flags = APPLE_COMPILER_FLAGS, 37 fbobjc_preprocessor_flags = get_preprocessor_flags_for_build_mode() + get_apple_inspector_flags(), 38 force_static = True, 39 labels = [ 40 "pfh:ReactNative_CommonInfrastructurePlaceholder", 41 ], 42 macosx_tests_override = [], 43 platforms = (ANDROID, APPLE, CXX), 44 preprocessor_flags = [ 45 "-DLOG_TAG=\"ReactNative\"", 46 "-DWITH_FBSYSTRACE=1", 47 ], 48 tests = [":tests"], 49 visibility = ["PUBLIC"], 50 deps = [ 51 "//third-party/glog:glog", 52 "//xplat/fbsystrace:fbsystrace", 53 "//xplat/folly:hash", 54 react_native_xplat_target("butter:butter"), 55 react_native_xplat_target("react/debug:debug"), 56 react_native_xplat_target("react/renderer/components/root:root"), 57 react_native_xplat_target("react/renderer/components/view:view"), 58 react_native_xplat_target("react/renderer/core:core"), 59 react_native_xplat_target("react/renderer/debug:debug"), 60 react_native_xplat_target("react/renderer/telemetry:telemetry"), 61 react_native_xplat_target("react/utils:utils"), 62 ], 63) 64 65fb_xplat_cxx_test( 66 name = "tests", 67 srcs = glob(["tests/**/*.cpp"]), 68 headers = glob(["tests/**/*.h"]), 69 compiler_flags = [ 70 "-fexceptions", 71 "-frtti", 72 "-std=c++17", 73 "-Wall", 74 ], 75 contacts = ["[email protected]"], 76 fbandroid_use_instrumentation_test = True, 77 platforms = (ANDROID, APPLE, CXX), 78 deps = [ 79 ":mounting", 80 "//xplat/third-party/gmock:gtest", 81 react_native_xplat_target("react/renderer/element:element"), 82 react_native_xplat_target("react/renderer/components/root:root"), 83 react_native_xplat_target("react/renderer/components/view:view"), 84 react_native_xplat_target("react/renderer/components/scrollview:scrollview"), 85 react_native_xplat_target("react/test_utils:test_utils"), 86 ], 87) 88