load("@fbsource//tools/build_defs:fb_xplat_cxx_binary.bzl", "fb_xplat_cxx_binary") load("@fbsource//tools/build_defs/apple:flag_defs.bzl", "get_debug_preprocessor_flags") load( "//tools/build_defs/oss:rn_defs.bzl", "ANDROID", "APPLE", "CXX", "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 = "core", srcs = glob( ["**/*.cpp"], exclude = glob(["tests/**/*.cpp"]), ), headers = glob( ["**/*.h"], exclude = glob(["tests/**/*.h"]), ), header_namespace = "", exported_headers = subdir_glob( [ ("", "*.h"), ("events", "*.h"), ("primitives", "*.h"), ("componentdescriptor", "*.h"), ("layout", "*.h"), ("shadownode", "*.h"), ("state", "*.h"), ], prefix = "react/core", ), compiler_flags = [ "-fexceptions", "-frtti", "-std=c++14", "-Wall", ], fbobjc_compiler_flags = APPLE_COMPILER_FLAGS, fbobjc_preprocessor_flags = get_debug_preprocessor_flags() + get_apple_inspector_flags(), force_static = True, macosx_tests_override = [], platforms = (ANDROID, APPLE, CXX), preprocessor_flags = [ "-DLOG_TAG=\"ReactNative\"", "-DWITH_FBSYSTRACE=1", ], tests = [":tests"], visibility = ["PUBLIC"], deps = [ "fbsource//xplat/fbsystrace:fbsystrace", "fbsource//xplat/folly:headers_only", "fbsource//xplat/folly:memory", "fbsource//xplat/folly:molly", "fbsource//xplat/jsi:JSIDynamic", "fbsource//xplat/jsi:jsi", "fbsource//xplat/third-party/glog:glog", react_native_xplat_target("utils:utils"), react_native_xplat_target("fabric/debug:debug"), react_native_xplat_target("fabric/graphics:graphics"), ], ) 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 = [ "fbsource//xplat/folly:molly", "fbsource//xplat/third-party/gmock:gtest", ":core", ], ) fb_xplat_cxx_binary( name = "benchmarks", srcs = glob(["tests/benchmarks/*.cpp"]), compiler_flags = [ "-fexceptions", "-frtti", "-std=c++14", "-Wall", "-Wno-unused-variable", ], contacts = ["oncall+react_native@xmail.facebook.com"], fbobjc_compiler_flags = APPLE_COMPILER_FLAGS, fbobjc_preprocessor_flags = get_debug_preprocessor_flags() + get_apple_inspector_flags(), platforms = (ANDROID, APPLE, CXX), visibility = ["PUBLIC"], deps = [ "fbsource//xplat/third-party/benchmark:benchmark", react_native_xplat_target("utils:utils"), react_native_xplat_target("fabric/components/view:view"), ":core", ], )